Pythonでデータ処理を行う際の標準的なライブラリともいわれるPandasですが、最近、より高速なライブラリとして「polars」というのが、よく利用されているそうです。
使い方は簡単。試しにやってみました。
インストール
おなじみのpipで。最初は実験用の仮想環境に切り替えて入れてみる。
pip install polars
比較
10億までの素数の一覧データ(約5084万行)のcsv(約553MB)を読み込んでdfをprintする、という簡単なコードで処理時間を比較してみた。
## pandasの場合
import pandas as pd
import time
start_time = time.time()
df = pd.read_csv('primes_up_to_1000000000.csv')
print(df)
end_time = time.time()
# 計算にかかった時間を表示
execution_time = end_time - start_time
print("計算にかかった時間:", execution_time, "秒")
## polarsの場合
import polars as pl
import time
start_time = time.time()
df = pl.read_csv('primes_up_to_1000000000.csv')
print(df)
end_time = time.time()
# 計算にかかった時間を表示
execution_time = end_time - start_time
print("計算にかかった時間:", execution_time, "秒")
結果
pandasだと7.7906458377838135 秒だったのが、polarsだと 0.48952651023864746 秒 となりました。かなり速い。
他にも巨大な行列データをいろいろ弄る処理で比較してみると、概ね10倍くらいの差がありますね。下記により詳細なベンチマークなどもあるので参考までに。