メモ_Pandasより速いpolars

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倍くらいの差がありますね。下記により詳細なベンチマークなどもあるので参考までに。

Database-like ops benchmark