我真的无法谷歌它。如何将稀疏矩阵转化为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().flatten()
最佳答案
使用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()
关于python - Numpy:将稀疏矩阵转换为 ndarray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756741/