pandas DataFrame 的序列化

新手上路,请多包涵

有没有一种快速的方法来序列化 DataFrame?

我有一个可以并行运行 pandas 分析的网格系统。最后,我想从每个网格作业中收集所有结果(作为 DataFrame)并将它们聚合到一个巨大的 DataFrame 中。

如何以可以快速加载的二进制格式保存数据帧?

原文由 James Bond 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

最简单的方法就是使用 to_pickle (作为 pickle ),请参阅 文档 api 页面 中的 pickling :

 df.to_pickle(file_name)

_另一种选择是使用 HDF5 (基于 PyTables)。入门的工作稍微多一些,但查询的内容要丰富得多。_

原文由 Andy Hayden 发布,翻译遵循 CC BY-SA 4.0 许可协议

DataFrame.to_msgpack 是实验性的,并非没有一些问题,例如 Unicode,但它比 pickling 快得多。它序列化了一个包含 500 万行的数据帧,该数据帧在大约 2 秒内占用了 2-3 Gb 的内存,生成的文件约为 750 Mb。加载有点慢,但仍然比 unpickling 快得多。

原文由 Sergey Orshanskiy 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题