numpy的快以比熊猫

问题描述:

排序,这是有关排序在numpy的阵列和大熊猫一个基本的问题:numpy的快以比熊猫

我意识到,当我用于排序和选择的数据帧中的特定列,它几乎了两倍熊猫很久以前,我改变了代码使用numpy数组。

速度变化的原因是什么?

感谢, 莱昂

如。熊猫:

j = pd.DataFrame(df)   # df columns["date","I",...] 
j = j.sort(["date"], ascending=False) 
x = [[DATES[int(k[1]) - 1]] for k in j["date"].tolist()] 
y = j["I"].tolist() 

例如, Numpy:

j = np.array(df)    # df column["date"] == j[:,0] 
j = np.array(sorted(j, key=lambda a_entry: a_entry[0])) 
x = [[DATES[int(k[1]) - 1]] for k in j[:,0].tolist()] 
y = j[:,4].tolist()   # df column["I"] == j[:,4] 

https://penandpants.com/2014/09/05/performance-of-pandas-series-vs-numpy-arrays/很好地解释了它。 pandas作为一个很大的开销,相比于从该网站numpy

报价:“为什么熊猫比NumPy的这么慢得多简短的回答是,大熊猫是做了很多的东西,当你索引到一个系列,和它正在Python中完成那些东西。