高效地将大型Pandas数据帧写入磁盘

5
我正在寻找一种高效地使用Python/Pandas将大型数据框(250MB以上)写入和从磁盘读取的最佳方法。我已经尝试了《Python数据分析》中提到的所有方法,但性能非常令人失望。
这是一个更大项目的一部分,旨在探索将我们目前的统计/数据管理环境从Stata迁移到Python。当我比较我的测试中的读写时间与在Stata中获得的时间时,Python和Pandas通常需要超过20倍的时间。
我强烈怀疑问题出在我身上,而不是Python或Pandas。
有什么建议吗?

你可以重新阅读书中的HDF5段落,使用这个存储方式可以获得非常高效的持久化存储。如果你能解释并展示你测试过的代码,那么它可能会有所帮助,因为你的方法可能存在一些低效性。 - Zeugma
你怀疑自己出了问题的原因是什么? - Christian Ternus
store = HDFStore('myfile.h5') store['df'] = df - user2928791
1
请执行以下代码:df.head()df.info() - Jeff
1个回答

10

2
事实上,HDF5表现良好,特别是在使用正确的选项时。使用blosc压缩,chunksize=4和complevel=3被证明是最快的。 - user2928791
很多事情取决于你如何存储(例如,一次性附加通常是最好的),你是否需要附加和压缩。我的建议是,那个块大小相当小,默认值为50k行。 - Jeff

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接