scipy.sparse中似乎没有一个方法可以给出稀疏矩阵的最小值。特别是,我寻求最少的列。
文档中不显示任何方法,numpy最小值不适用。如果X
是稀疏矩阵,X.min()
也会抛出错误:*** AttributeError: 'module' object has no attribute 'min'
。
当然这必须是人们使用的东西。这是怎么做到的?
答案 0 :(得分: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)
要按行或列执行此操作,您可以map
或X.getrow(i) for i in X.shape[0]
{/ 1}}进行此操作。
但你是对的,这应该是一种方法。