本文比较pandas、polars、duckdb和arrow等几种类库,在内存中进行向量化计算的执行时间差异。
测试环境
硬件:
Apple M2,16GB,SSD
软件:
python 3.11.7
pandas 2.1.4
pyarrow 14.0.2
duckdb 0.10.1
polars 0.20.15
求和两列浮点数
用不同的内存对象计算两列之和(new_col=A+B),比较所消耗的时间,列A和列B都是1~100之间的浮点数。
内存压力大时耗时会显著增加,例如下面的pandas和pandas_on_arrow曲线:
计算指定列平均值
用不同的内存对象计算指定列的平均值,比较所消耗的时间,指定列是1~100之间的浮点数。
字符串连接
用不同的内存对象将两列字符串连接,比较所消耗的时间,列A和列B都是8字节的字符串。
欢迎转载
请保留原始链接:https://bjzhanghao.com/p/3327
请保留原始链接:https://bjzhanghao.com/p/3327