【发布时间】:2019-03-20 11:56:00
【问题描述】:
我觉得我应该澄清一个有趣的观察结果。
我希望 pandas 切片操作应该比压缩数据帧的列更快,但是在两个操作上运行 %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 毫秒 ± 145 微秒(平均值 ± 标准偏差,7 次运行,每次 1000 次循环)
%timeit dict(zip(s['Column1'],s['Column3']))[30]
每个循环 53.7 µs ± 6.07 µs(7 次运行的平均值 ± 标准偏差,每次 10000 个循环)
这说明 pandas 比使用 zip 功能要慢得多,对吧?我相信,它的易用性可能只会更好。
应用映射操作会更快吗?
【问题讨论】:
标签: python pandas numpy zip slice