【问题标题】:Use hard drive instead of RAM in Python在 Python 中使用硬盘驱动器而不是 RAM
【发布时间】:2026-01-16 13:00:01
【问题描述】:

我想知道是否有一种方法或 Python 包可以让我使用大型数据集而无需将其写入 RAM。

我也在使用 pandas 进行统计功能。

我需要访问整个数据集,因为许多统计函数需要整个数据集才能返回可信的结果。

我在带有 Windows 10 的 LiClipse 上使用 PyDev(带有解释器 Python 3.4)。

【问题讨论】:

  • 欢迎来到*。首先你应该阅读"What topics can I ask about here?":“要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题是题外话”。尝试在python、pandas等中搜索内存映射。
  • 欢迎来到*。向我们提供有关您确切需要什么的更多详细信息,或接受您目前所获得的答案。

标签: python pandas memory pydev


【解决方案1】:

您也可以使用 SframesDask 来支持大型数据集,或者使用 pandas 并以块的形式读取/迭代以最大限度地减少 RAM 使用量。 还值得一看 blaze

分块读取:

chunksize = 10 ** 6
for chunk in pd.read_csv(filename, chunksize=chunksize):
process(chunk)

【讨论】:

  • 好的,谢谢,但现在问题不同了,使用 Dask 我最小化了 ram 使用,但现在我将使用 pandas 统计函数,而使用 Dask 我不能使用所有这些函数。我能怎么做?非常感谢
【解决方案2】:

如果您只需要将磁盘虚拟化为大 RAM 内存,则可以在系统上设置交换文件。然后内核会根据需要自动换入和换出页面,使用启发式方法来确定应该交换哪些页面以及哪些应该保留在磁盘上。

【讨论】:

  • 谢谢,您的建议也很有用,在 Windows 中有简单的方法吗?非常感谢
最近更新 更多