【发布时间】:2016-11-19 04:35:48
【问题描述】:
考虑以下示例:
import numpy as np
import scipy.sparse
A = scipy.sparse.csr_matrix((2,2))
b = A.sum(axis=0)
矩阵b 现在具有格式
matrix([[ 0., 0.]])
但是,我希望它变成这样的数组:
array([ 0., 0.])
这可以由b = np.asarray(b)[0] 完成,但这似乎不是很优雅,尤其是与 MATLAB 的b(:) 相比。有没有更优雅的方法来做到这一点?
【问题讨论】:
-
见stackoverflow.com/questions/26576524/…;特别要注意的是,稀疏矩阵有
.toarray()方法,您可以将其结果重塑为一维 numpy 数组。 -
MATLAB 的
b(:)- 大小是多少?还是 2d 不是吗?(:)有点像np.ravel,除了 MATLAB 总是 2d 或更高。