我需要保持50,000x50,000稀疏矩陣/ 2D陣列,與細胞的〜5%,均勻分佈的,是非空的。我將需要:50Kx50K稀疏矩陣
編輯我需要在numpy/scipy中做到這一點,對不起,如果不清楚。另外,增加了需求。
- 從數據庫中讀取5%的非空數據,並儘可能快地將其分配給矩陣/ 2d數組單元格。
- 使用盡可能少的內存。
- 使用花式索引(採取的索引和所有非空值一列,說的)。這是非常好的,記憶和建設時間更重要。
- 一旦構建,矩陣不會改變。
- 然而,我會想要採取它的轉置,最好O(1)內存和時間。
什麼是實現這一目標的最有效的方法是什麼? 我可以用nan而不是零來表示「空」單元嗎? (0對我來說是一個有效的值),我可以有效地運行nansum,nanmean嗎? 如果不是,我可以有效地採用給定列/行中所有非零的索引和值嗎?