【问题标题】:Pandas read_pickle slowness熊猫 read_pickle 缓慢
【发布时间】:2016-06-14 21:14:44
【问题描述】:

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

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。

我有另一个工作正常的泡菜文件(~95 MB)(可以在

【问题讨论】:

  • 可以交换吗?如果你将它读入同一个变量需要多长时间:df = pd.read_pickle(b) 而不是df2
  • 我的代码 sn-p 的最后一行实际上在不同的程序中(Line#1,2 - file1.py 和 Line#3- file2.py)。但是我还是尝试了您的建议,但没有帮助。

标签: python performance pandas pickle


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-06-18
    • 1970-01-01
    • 2015-07-05
    • 2020-12-03
    • 1970-01-01
    • 2021-10-22
    • 2015-05-25
    • 2023-03-17
    • 2020-03-29
    相关资源
    最近更新 更多