2014-07-15 216 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