这些时间差异的差异
In [273]: %timeit df1[df1['letter'] == 'ben']
10 loops, best of 3: 36.1 ms per loop
In [274]: %timeit df2[df2['letter'] == 'ben']
10 loops, best of 3: 108 ms per loop
也出现在纯NumPy平等比较中:
In [275]: %timeit df1['letter'].values == 'ben'
10 loops, best of 3: 24.1 ms per loop
In [276]: %timeit df2['letter'].values == 'ben'
10 loops, best of 3: 96.5 ms per loop
在引擎盖下,pandasdf1 [‘信’] ==’本’calls a Cython
function
其循环遍历下面的NumPy数组的值,
DF1 [ ‘字母’].值.它基本上是做同样的事情
df1 [‘letter’].values ==’ben’但是对NaN的处理不同.
此外,请注意,只需访问df1 [‘letter’]中的项目即可
顺序顺序可以比对df2 [‘letter’]做相同的更快:
In [11]: %timeit [item for item in df1['letter']]
10 loops, best of 3: 49.4 ms per loop
In [12