Python 3 和 Windows 64 中的内存错误

Sae*_*eed 5 python windows memory-management python-3.x

我知道之前已经问过与内存错误相关的问题,例如这里这里这里这里这里。并且建议的解决方案始终是切换到 Python 3 和/或 Window 64 位,或者在代码错误的情况下修复代码。但是,我已经在使用 Python 3 和 Win 64。我还可以从 Windows 任务管理器中看到,当 Python 抛出内存错误时,我的 64GB 内存中有几 GB 仍然可用。

我有大约 15 个日期索引的 Pandas 数据帧,每个数据帧有 14000 行,平均有 5000 列浮点数据,以及大约 40-50% 的 NaN 值,我从硬盘驱动器读入。我不能简单地删除 NaN,因为不同的列在不同的日期有 NaN。当我尝试将它们与pd.concat(). 所以这不是一些错误的代码或while循环的问题。如果我将某些数据框排除在串联之外,则串联时不会发生内存错误,但是当我尝试对串联数据进行 Scikit 学习决策树分析时,就会发生这种情况。

我的问题是如何让 Python 使用所有可用内存而不抛出内存错误?

编辑:截图添加了 IPython 解释器截图(我什至没有安装 Python 2): 在此处输入图片说明

系统信息截图: 在此处输入图片说明

小智 3

这里有一些链接,其中包含他们的信息片段,希望对您有所帮助。

\n\n

如何为程序提供更多 RAM

\n\n
\n

增加页面文件。页面文件是硬盘驱动器的一部分,被处理器用作 RAM,也称为虚拟内存。虽然它不如 RAM 快,因为它物理上位于硬盘驱动器上,但增加它有时可以提高程序性能。要访问它,请打开控制面板。单击“系统”,然后单击“高级系统设置”,然后单击“性能”选项卡中的“设置”。

\n
\n\n

如何设置python程序的内存使用量

\n\n
\n

如果你想限制 python 虚拟机内存使用,你可以试试这个: 1\xe3\x80\x81Linux\xef\xbc\x8c\n ulimit 命令限制 python 上的内存使用 2\xe3\x80\x81你可以使用\n资源模块限制程序内存使用;如果你想\n 加速你的程序,同时为你的应用程序提供更多内存,你可以\n 尝试这个: 1\\threading, multiprocessing 2\\pypy 3\\pysco on only python\n 2.5

\n
\n\n

分配内存申请

\n\n
\n

!.右键单击我的电脑\n 2.属性>高级>性能>设置>高级\n 3.在虚拟内存下检查分页文件大小(如果内存充足,经验法则是总V 的1/2)。内存可能已被使用。如果您使用更多内存,\n 分页文件会在应用程序和操作系统之间发生冲突。希望此帮助

\n
\n\n

分配内存进程服务器

\n\n
\n

由于某些程序需要比其他程序更多的内存才能运行,因此您可以使用任务管理器为特定进程分配额外的内存,以提高性能。

\n
\n\n

其他的

\n\n

http://stackoverflow.com/questions/1760025/limit-python-vm-memory

\n\n

http://stackoverflow.com/questions/2308091/how-to-limit-python-heap-size

\n