✅ haniwers における pandas → polars 移行の整理#
🔍 適用対象と polars の相性#
処理ステップ |
内容 |
|
|---|---|---|
|
生データ → CSV変換 |
△(主にI/O) |
|
閾値を変えながらイベント走査 |
◎(filter + groupby 高速) |
|
閾値最適化やフィッティング |
◎(複数閾値の統計計算) |
|
統計・変換 |
◎(expressionが強力) |
可視化前処理 |
グラフ用データの集約 |
◎(binning・hist対応) |
🚀 polars導入による主なメリット#
高速処理(特に
scan,vth,fit)マルチスレッド対応、lazy evaluation で最適化
低メモリ使用(大規模Runに効果大)
列ベース処理に強い
閾値比較・ヒット判定などの操作が効率的
🛠 移行対象となるモジュール候補#
threshold.pypostprocess.pypreprocess.py
⚠ 検討すべき点(移行コスト)#
DataFrameAPI がpandasと一部非互換to_pandas()により併用可能ではある小規模Runやインタラクティブ用途では
pandasの方が柔軟なことも
💡 移行の進め方(推奨)#
まずは
scanやthreshold処理だけpolarsで試験的に実装pandasとpolarsを併用しながらベンチマーク比較パフォーマンスが顕著な場合、他の処理にも段階的に展開
🎯 結論#
haniwers のような構造が固定されたセンサーデータ処理では、polars への置き換えは 処理速度・メモリ効率・今後の拡張性の面で非常に意義がある。