比较zip操作与pandas slice操作

时间:2018-10-16 02:35:41

标签: python pandas numpy zip slice

我觉得我应该澄清一个有趣的发现。

我希望熊猫切片操作应该比压缩数据帧的列更快,但是在两个操作上都运行%timeit时,压缩操作会更快...

import pandas as pd, numpy as np
s = pd.DataFrame({'Column1':range(50), 'Column2':np.random.randn(50), 'Column3':np.random.randn(50)})

然后跑步

%timeit s[['Column1','Column3']].loc[30].values

每个循环1.06 ms±145 µs(平均±标准偏差,共运行7次,每个循环1000次)

%timeit dict(zip(s['Column1'],s['Column3']))[30]

每个循环53.7 µs±6.07 µs(平均±标准偏差,共运行7次,每个10000个循环)

这说明熊猫比使用zip功能要慢得多,对吗?我相信,可能只有更好的易用性。

应用映射操作会更快吗?

1 个答案:

答案 0 :(得分:0)

Zip经过优化,可以在处理器缓存中运行。它非常快,就像itertools一样。