有没有一种快速的方法来序列化 DataFrame?
我有一个可以并行运行 pandas 分析的网格系统。最后,我想从每个网格作业中收集所有结果(作为 DataFrame)并将它们聚合到一个巨大的 DataFrame 中。
如何以可以快速加载的二进制格式保存数据帧?
原文由 James Bond 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有一种快速的方法来序列化 DataFrame?
我有一个可以并行运行 pandas 分析的网格系统。最后,我想从每个网格作业中收集所有结果(作为 DataFrame)并将它们聚合到一个巨大的 DataFrame 中。
如何以可以快速加载的二进制格式保存数据帧?
原文由 James Bond 发布,翻译遵循 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 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答839 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
最简单的方法就是使用 to_pickle (作为 pickle ),请参阅 文档 api 页面 中的 pickling :
_另一种选择是使用 HDF5 (基于 PyTables)。入门的工作稍微多一些,但查询的内容要丰富得多。_