Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PolarsとPanderaで実現する高速でロバストなデータ処理
Search
chimuichimu
March 28, 2024
6
4.1k
PolarsとPanderaで実現する高速でロバストなデータ処理
chimuichimu
March 28, 2024
Tweet
Share
More Decks by chimuichimu
See All by chimuichimu
書籍紹介:アジャイルなチームをつくる ふりかえりガイドブック
chimuichimu
0
69
朝 Kaggle のすすめ
chimuichimu
3
640
atmaCup#19 2nd Place Solution
chimuichimu
3
420
Wantedly Visit における相互推薦システムの活用事例
chimuichimu
1
330
データ駆動で実現する、人と企業のマッチング
chimuichimu
0
140
PydanticAI × Logfire ではじめる LLM エージェントのモニタリング
chimuichimu
3
1.3k
ウォンテッドリーの推薦システム開発を支える評価とデプロイの仕組み
chimuichimu
1
820
進化計算ライブラリ DEAP の紹介
chimuichimu
2
280
Spotify Web API を使った分析で新しいお気に入りアーティストを発見する
chimuichimu
3
300
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Six Lessons from altMBA
skipperchong
29
4.1k
Facilitating Awesome Meetings
lara
57
6.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Between Models and Reality
mayunak
1
150
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
How to Ace a Technical Interview
jacobian
281
24k
It's Worth the Effort
3n
187
29k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
200
Designing Experiences People Love
moore
143
24k
First, design no harm
axbom
PRO
1
1.1k
Transcript
PolarsとPanderaで実現する 高速でロバストなデータ処理 みんなのPython勉強会 #102 Mar. 28 2024 - Chiaki Ichimura
© 2024 Wantedly, Inc.
自己紹介 市村千晃 • 経歴 ◦ SE, PM, DS@SIer(2017/4 ~ 2024/2)
◦ DS@ウォンテッドリー株式会社(2024/3~) • 興味 ◦ データ分析・機械学習 ◦ 推薦システム © 2024 Wantedly, Inc. @chimuichimu1
データ分析・機械学習のフロー © 2024 Wantedly, Inc. データ処理 データ準備 分析 価値提供 評価
データ分析・機械学習のフロー © 2024 Wantedly, Inc. データ処理 データ準備 分析 価値提供 評価
データ処理における課題 • 実行時間 ◦ 処理に時間がかかり、分析のサイクルを回すボトルネックに • データ品質 ◦ 想定外のデータや意図しない処理が、誤った分析やモデルの性能劣 化につながる
• 可読性 ◦ データの内容をコードから読み取るのが難しく、処理がブラックボック ス化しがち © 2024 Wantedly, Inc.
やりたいこと データ処理を 高速かつロバストに実行したい © 2024 Wantedly, Inc.
やりたいこと データ処理を 高速かつロバストに実行したい © 2024 Wantedly, Inc. Polars Pandera
Polarsとは? • Rustで実装されたテーブルデータ処理用のライブラリ • 並列処理や遅延評価の仕組みにより高速なデータ処理を実現 © 2024 Wantedly, Inc. https://github.com/pola-rs/polars
Polarsってどれくらい早いの? © 2024 Wantedly, Inc. https://pola.rs/posts/benchmarks/
Polarsってどれくらい早いの? © 2024 Wantedly, Inc. https://pola.rs/posts/benchmarks/ Pandasが21秒かかる処理(※)を Polarsは1秒未満で実行 ※ファイル読み込み ->
結合 -> フィルタ -> 演算 -> 集約 -> ソート
Panderaとは? • テーブルデータに対するバリデーション機能を提供するライブラリ • 2024/3のリリースでPolarsのサポートを開始(注:現時点ではベータ版) © 2024 Wantedly, Inc. https://pandera--1373.org.readthedocs.build/en/1373/polars.html#polars
Panderaとは? © 2024 Wantedly, Inc. データが満たすべき性質を スキーマとしてコードに定義 (型、最大値、最小値、非null…) データがスキーマを満たすかを チェック
基本的な使い方 https://pandera--1373.org.readthedocs.build/en/1373/polars.html#polars
Panderaを使うメリット © 2024 Wantedly, Inc. 不正な値が入力されると エラーが発生 データ品質の担保 SchemaError: Column
'price' failed validator number 0: <Check in_range: in_range(5, 20)> failure cases: shape: (1, 1) 想定外のデータや 意図しない処理に気づける🙆
Panderaを使うメリット © 2024 Wantedly, Inc. 可読性の向上 どんなデータが入出力されるか?を コードから読み取れる🙆 データが満たすべき性質を スキーマとしてコードに定義
データ処理における課題 まとめ © 2024 Wantedly, Inc. 実行時間 データ品質 可読性 Polarsによる
データ処理 高速かつロバストなデータ処理を実現 Panderaによる スキーマ定義とバリデーション