【问题标题】:pandas.DataFrame.to_pickle backward compatibilitypandas.DataFrame.to_pickle 向后兼容性
【发布时间】:2017-08-17 01:45:23
【问题描述】:

pandas.DataFrame.to_pickle 的压缩参数是在 pandas 0.20 中引入的。 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_pickle.html

在 pandas 0.20 之前,我不需要指定压缩参数。

我有一个使用 pandas 0.18 编写的 webapp,并且在 0.18 版本中使用 pandas.read_pickle 读取 pickle 文件没有错误,我应该如何 pickle 文件?

到目前为止,我已经尝试将压缩参数设置为 None 和 'gzip'。两者都不起作用。

【问题讨论】:

    标签: python-2.7 pandas pickle


    【解决方案1】:

    看起来您实际上不需要指定。默认的compression='infer' 应该可以工作。

    但是,为什么不直接导入和使用泡菜呢?

    这是我一直在使用的

    # import and save object as pickle
    import pickle
    pickle.dump(object, open('filename.pkl', 'wb'))
    
    # and this is how to load them
    loaded_object = pickle.load(open('filename.pkl', 'rb'))
    

    【讨论】:

    • 您好,感谢您的回答。但是如果你使用 pandas 0.20(推断或任何其他设置)腌制它并在 pandas 0.18 中打开它,那么你会得到错误。
    • 哦。腌制对象是版本敏感的。如果您想将腌制对象从一台计算机发送并打开到另一台计算机,则需要确保相关库相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多