在没有迭代器或块的情况下加载大数据

时间:2016-04-08 16:24:21

标签: python pandas numpy machine-learning large-data

我想学习大型数据文件(7GB):800行,5百万列。所以我想加载这些数据并将它们放在我可以使用的形式(2D列表或数组)中。

问题出在这里,当我加载数据并尝试存储它们时,它们使用我所有的内存(12GB),然后停在第500行。

我听说过很多关于如何使用这种数据的方法,比如使用块和迭代器,但我想将它们完全加载到内存中,这样我就可以进行交叉验证。 我试图用熊猫来帮助我,但问题是一样的。

是否存在一些问题需要加载和存储整个7GB数据?还是可以帮助我的任何其他想法?

1 个答案:

答案 0 :(得分:0)

您可以尝试获取交换或页面文件。根据您的操作系统,您可以使用虚拟内存来允许系统在单个进程中处理比在物理内存中更多的对象。取决于working set的大小,性能可能不会受到太大影响,或者可能完全可怕。 也就是说,几乎可以肯定,获得更多内存或使用一些分区策略(类似于你所谓的分块)是一个更好的解决方案。

在Windows上查看here,了解有关如何调整页面文件大小的信息。对于Redhat Linux,请尝试this link以获取有关添加交换的信息。