Pandas2.0に移行しようと思ったけど、結局Polarsに移行した。

Pandas 2.0来た! 自作コードでPandas使っているところを2.0を使うようにしよう!

What’s new in 2.0.0 (April 3, 2023) — pandas 2.1.0.dev0+1270.gaf76d785cc documentation

と思って調べていたところ、Pandasと同じようにDataFrameを扱う「Polars」が良さそうに思えてきたので使ってみた。

この辺りなど参考にさせていただきつつ使ってみた。

qiita.com

dev.classmethod.jp

使ってみたところ良かったので、自作コードでこれまでPandasを使っていたところはPolarsに移行することにした。自分が使っている範囲ではPolarsで置き換えられそう。スピードも速いぞ。Pandasよりコードが短くシンプルになる場合もあるけど逆の場合もある。でも、私がPandasに感じていた「The Zen of Python」の特に "There should be one-- and preferably only one --obvious way to do it." の真逆を行っている感。それがPolarsではだいぶ緩和される。Pandasは同じことをやるのに異なる方法がありすぎると思う。あとPandasのIndexはPolarsには無くて最初"え〜無いのぉ〜"と思ったけど、結局私が使っている範囲ではIndex無くても別に平気だった。

Polarsでちょっと残念だったところは、read_csv()は複数csvファイルをワイルドカードで読み込めるのにjson用のread_ndjson()には同様の機能が無かったところ。  scan_ndjson()のほうはファイル名にワイルドカード指定で複数 jsonファイルが読めました。

Polars使ってみたら良い感じ。今後はPolarsを使っていこう。