怎么" scipy.sparse.issparse"工作?它总是返回"错误"

时间:2014-02-02 04:00:31

标签: python scipy

scipy.sparse.issparse在这篇文章中使用。

Is it possible to specify your own distance function using scikit-learn K-Means Clustering?

但是,我不知道它是如何工作的。我已经找到了文件,这是空的。 http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.issparse.html

from scipy.sparse import issparse

issparse([0, 0, 0])
>> False

issparse([[1, 0, 0], [0, 0, 0]])
>> False

它始终返回False。如何让它返回True

3 个答案:

答案 0 :(得分:4)

issparse与输入的元素数量无关。相反,scipy.sparse定义了许多为表示稀疏矩阵而优化的类型,issparse确定输入是否是稀疏矩阵对象。

In [1]: import scipy.sparse

In [2]: scipy.sparse.issparse(scipy.sparse.bsr_matrix([[1, 0], [0, 1]]))                          
Out[2]: True

答案 1 :(得分:2)

This page定义了spmatrix类

class spmatrix(object):
    """ This class provides a base class for all sparse matrices.

在页面底部,它将issparse定义为

def isspmatrix(x):
    return isinstance(x, spmatrix)

issparse = isspmatrix

因此,如果我正确阅读,issparsexspmatrix的实例时属实。

答案 2 :(得分:0)

该函数仅测试变量是否为spmatrix的子类。例如il_matrixdok_matrix