我有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秒内读取)。有什么建议吗?
答案 0 :(得分:0)
我找到了解决问题的方法。我的pickle文件是由root用户的cronjob创建的。 Python程序是在虚拟环境中开发的。全球环境没有大熊猫。因此,当root用户运行cronjob时,它成功创建了pickle文件,但此文件出现了问题。我修改了cronjob以使用我的virtualenv中的python二进制文件,并解决了这个问题。我可以看到全局python和virtualenv python创建的pickle文件的大小差异。
我还不确定root用户是如何在没有pandas可用的情况下运行python文件的。