6

scipy.sparse 中似乎没有一种方法可以给出稀疏矩阵的最小值。特别是,我寻求列的最小值。

文档中没有出现任何方法,并且 numpy minimum 不适用。如果X是稀疏矩阵,X.min()也会抛出错误:*** AttributeError: 'module' object has no attribute 'min'.

当然,这一定是人们使用的东西。这是怎么做到的?

4

1 回答 1

7

对于 CSR/CSC 矩阵,使用

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)

要按行或列执行此操作,您可以mapX.getrow(i) for i in X.shape[0]或上执行此操作X.shape[1]

但你是对的,这应该是一种方法。

于 2012-11-17T01:06:46.007 回答