Python – 令人难以置信的大型矩阵的最佳数据结构

我需要创建大约200万个向量,每个向量1000个插槽(每个插槽只包含一个整数).

处理这些数据的最佳数据结构是什么?可能是我高估了所涉及的处理/内存量.

我需要迭代一组文件(总共大约34.5GB)并且每次在一行上遇到200万个项目中的一个(每个对应一个向量)时更新向量.

我可以轻松地为此编写代码,但我知道它不足以处理数据量,这就是为什么我要问你专家. 🙂

最好,
乔治娜

最佳答案 您的计算机可能受内存限制.没有清理正在运行的程序:

a = numpy.zeros((1000000,1000),dtype=int)

不适合记忆.但总的来说,如果你可以解决这个问题,你不需要在内存中同时使用整个数组,或者你可以使用稀疏表示,我会使用numpy(scipy表示稀疏表示).

此外,您可以考虑将hdf5中的数据与h5py或pytables或netcdf4一起存储在磁盘上的netcdf4-python,然后访问您需要的部分.

点赞