我觉得我应该澄清一个有趣的发现。
我希望熊猫切片操作应该比压缩数据帧的列更快,但是在两个操作上都运行%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功能要慢得多,对吗?我相信,可能只有更好的易用性。
应用映射操作会更快吗?
答案 0 :(得分:0)
Zip经过优化,可以在处理器缓存中运行。它非常快,就像itertools一样。