2014-07-15 264 views
3

我真的無法谷歌它。如何將稀疏矩陣轉換爲ndarray?Numpy:將稀疏矩陣轉換爲ndarray

假設我有零稀疏矩陣t。然後

g = t.todense() 
g[:10] 

matrix([[0], 
    [0], 
    [0], 
    [0], 
    [0], 
    [0], 
    [0], 
    [0], 
    [0], 
    [0]]) 

代替[0,0,0,0,0,0,0,0,0,0]

解決方案:

t.toarray()變平()

+0

您可以將u se'.toarray()'代替... –

回答

3

使用np.asarray

>>> a = np.asarray(g) 
>>> a 
array([[0], 
     [0], 
     [0], 
     [0], 
     [0], 
     [0], 
     [0], 
     [0], 
     [0], 
     [0]]) 

哪裏g是你的書房(在調用t.todense()之後)。

您特別要求的

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 

輸出它只有一個維度。爲了得到這一點,你要flatten數組:

>>> flat_array = np.asarray(g).flatten() 
>>> flat_array 
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) 

編輯:

您可以從稀疏矩陣直跳到數組:

a = t.toarray() 
0

移調您矩陣將第一列轉換爲第一行

g = g.T