熊猫read_pickle缓慢

时间:2016-06-14 21:14:45

标签: python performance pandas pickle

我有Python 3.4和Pandas 0.17。我注意到我的程序需要大约30秒来读取一个pickle文件。

df= pd.read_csv(a, skiprows=[1])
df.to_pickle(b)
df2 = pd.read_pickle(b)  --- This line takes almost 30 seconds.

原始csv文件大约为185 MB(2967000行),而pickle文件大小为125 MB。

我有另一个pickle文件(~95 MB)工作正常(可以在<1秒内读取)。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。我的pickle文件是由root用户的cronjob创建的。 Python程序是在虚拟环境中开发的。全球环境没有大熊猫。因此,当root用户运行cronjob时,它成功创建了pickle文件,但此文件出现了问题。我修改了cronjob以使用我的virtualenv中的python二进制文件,并解决了这个问题。我可以看到全局python和virtualenv python创建的pickle文件的大小差异。

我还不确定root用户是如何在没有pandas可用的情况下运行python文件的。