[英]Python - Best data structure for incredibly large matrix
我需要創建大約200萬個向量,每個向量1000個插槽(每個插槽只包含一個整數)。
處理這些數據的最佳數據結構是什么? 可能是我高估了所涉及的處理/內存量。
我需要迭代一組文件(總共大約34.5GB)並且每次在一行上遇到200萬個項目中的一個(每個對應一個向量)時更新向量。
我可以輕松地為此編寫代碼,但我知道它不足以處理數據量,這就是為什么我要問你專家。 :)
最好的,喬治娜
您的計算機可能受內存限制。 沒有清理正在運行的程序:
a = numpy.zeros((1000000,1000),dtype=int)
不適合記憶。 但總的來說,如果你可以解決這個問題,你不需要在內存中同時使用整個數組,或者你可以使用稀疏表示,我會使用numpy
( scipy
表示稀疏表示)。
此外,您可以考慮將hdf5
的數據與h5py
或pytables
或netcdf4
一起netcdf4-python
在磁盤上的netcdf4-python
,然后訪問您需要的部分。
假設大多數條目為0,則使用稀疏矩陣。
如果你需要在RAM中工作,請嘗試使用scipy.sparse矩陣變體。 它包括有效操作稀疏矩陣的算法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.