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中完成那些东西。“