Python/R/Julia中的数据处理工具多如牛毛「如pandas、spark、DataFrames.jl、polars、dask、dplyr、data.table、datatable等等」,如何根据项目需求挑选趁手的武器,H2O.ai机器学习平台维护的一个项目给出答案。
项目目前已收录Python/R/Julia中13种的工具👇,随着工具版本迭代、新工具的出现,该项目也在持续更新,其它工具如AWK、Vaex、disk也在陆续加入到项目中。
7种Python工具
dask
pandas
datatable
cuDF
Polars
Arrow
Modin
2种R工具
data.table
dplyr
1种Julia工具
DataFrames.jl
3种其它工具
spark
ClickHouse
duckdb
分别测试以上工具在在0.5GB、5GB、50GB数据量下执行groupby、join的效率,
比较以下各种需求的效率,
详细代码,见每个柱子图上方,
比较以下各种需求的效率,
详细代码,见每个柱子图上方,
可以看到Python中的Polars、R中的data.table、Julia中的DataFrame.jl等在groupby时是一个不错的选择,性能超越常用的pandas,详细👇,
0.5GB数据 groupby
5GB数据 groupby
50GB数据 groupby
同样可以看到Python中的Polars、R中的data.table在join时表现不俗,详细👇,
0.5GB数据 join
5GB数据 join
50GB数据 join
R中的data.table、Python中的Polars、Julia中的DataFrame.jl表现连续出色,后续可以用起来,常用的pandas并无亮点~
REF:https://h2oai.github.io/db-benchmark/