我真的无法谷歌。如何将稀疏矩阵转换为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]
解决方案:
t.toarray()。弄平()
答案 0 :(得分: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()
答案 1 :(得分:0)
转置矩阵以将第一列转换为第一行
g = g.T