Python 将数据帧保存到文件时出现内存错误

Python 将数据帧保存到文件时出现内存错误,python,pandas,Python,Pandas,我终于在学校的一台大机器(512G内存)上连接了两个大数据帧。现在我们两个人在使用同一台机器,另一台使用了大约120G的内存,在我给垃圾收集器打电话后,我们得到了420G 我想将数据框保存到内存中,这样我就可以轻松地重用它并将其移动到另一台机器上,我曾尝试将其导出到拼花地板文件,但我遇到了内存错误 那么,当内存已经接近满时,我如何才能将数据帧转储到硬盘上,以便重用它而不会出现内存错误呢 谢谢有几种选择。可以对数据帧进行pickle处理,也可以使用hdf5格式。 这些将占用更少的内存。另外,下次加

我终于在学校的一台大机器(512G内存)上连接了两个大数据帧。现在我们两个人在使用同一台机器,另一台使用了大约120G的内存,在我给垃圾收集器打电话后,我们得到了420G

我想将数据框保存到内存中,这样我就可以轻松地重用它并将其移动到另一台机器上,我曾尝试将其导出到拼花地板文件,但我遇到了内存错误

那么,当内存已经接近满时,我如何才能将
数据帧
转储到硬盘上,以便重用它而不会出现内存错误呢


谢谢

有几种选择。可以对数据帧进行pickle处理,也可以使用hdf5格式。
这些将占用更少的内存。另外,下次加载时,它将比其他格式更快

我不确定对于如此大的数据集,它会如何运行,但您可以使用pandas函数将文件保存到硬盘驱动器

df.to_csv("filename.csv")

如果您将来要处理这么多数据,我可能会建议您使用这里提到的分块方法:

拼花地板使用比hdf5更多的内存来创建?此外,拼花地板是相当快的负荷!我尝试hdf5,看看它是否能解决问题……您也可以使用gzip来减小大小。但是这会降低下次加载的效率。使用gzip会占用我更多的内存不是吗?我说的是拉姆。我只是不想将数据帧转储到硬盘上。使用gzip将减少磁盘上的内存。你可以试试。我在转储pickel文件时尝试过一次。这为我节省了大量的内存和时间,还有一个关于_hdf
的问题(我不熟悉这种格式),路径是文件的路径吗?我应该指定什么作为键?您可以使用
to_csv
中的
chunksize
参数或类似方法。设置较低的
chunksize
可能会占用较少的内存。