在 scipy.sparse 中似乎没有一种方法可以给出稀疏矩阵的最小值。特别是,我寻求的是列的最小值。
在文档中没有出现任何方法,而且 numpy minimum 也不适用。如果 X
是一个稀疏矩阵。X.min()
也会抛出错误。*** AttributeError: 'module' object has no attribute 'min'
.
当然,这一定是人们使用的东西。如何做到这一点?
对于CSRCSC矩阵,使用
def min_sparse(X):
if len(X.data) == 0:
return 0
m = X.data.min()
return m if X.getnnz() == X.size else min(m, 0)
要对每一行或每一列进行这种操作,你可以 map
这边 X.getrow(i) for i in X.shape[0]
或 X.shape[1]
.
但你说得对,这应该是一种方法。