如何将"SciPy稀疏矩阵"转换为"NumPy矩阵"?

Mr.*_*Boy 16 python numpy scipy sparse-matrix networkx

我正在使用一个名为"incidence_matrix(G)"的python函数,它返回图的事件矩阵.它来自Networkx包.我面临的问题是这个函数的返回类型是"Scipy Sparse Matrix".我需要使用numpy矩阵或数组格式的Incident矩阵.我想知道是否有任何简单的方法可以做到这一点?或者是否有任何内置函数可以为我做这个转换?

谢谢

seb*_*bix 31

scipy.sparse.*_matrix有几个有用的方法,例如,如果a是例如scipy.sparse.csr_matrix:

  • a.toarray()a.A- 返回此矩阵的密集矩阵表示.(numpy.array)
  • a.todense()a.M- 返回此矩阵的密集ndarray表示.(numpy.matrix)

  • 这两个属性有短别名:如果你的稀疏矩阵是'a`,那么`aM`返回一个密集的numpy矩阵对象,`aA`返回一个密集的numpy数组对象.除非你有很好的理由(你可能没有!),坚持使用numpy数组,即`aA`,并远离numpy矩阵. (4认同)