首页 文章

检查scipy稀疏矩阵是否为CSC或CSR

提问于
浏览
2

我想知道检查scipy稀疏矩阵的最佳方法,如果是CSC或CSR . 现在我正在使用 .

rows, cols = X.shape()
indptr = X.indptr()
if len(indptr) == cols + 1:
    print "csc"
else:
    print "csr"

谢谢 .

2 回答

  • 7

    看起来你可以使用 .getformat() 方法:

    >>> m0 = scipy.sparse.csc_matrix([1])
    >>> m0.getformat()
    'csc'
    >>> m1 = scipy.sparse.csr_matrix([1])
    >>> m1.getformat()
    'csr'
    
  • 1

    你可以查看课程

    m0=sparse.csc_matrix([1])
    
    In [4]: type(m0).__name__
    Out[4]: 'csc_matrix'
    In [5]: isinstance(m0,sparse.csc_matrix)
    Out[5]: True
    
    In [6]: isinstance(m0,sparse.csr_matrix)
    Out[6]: False
    
    In [9]: sparse.isspmatrix_csc(m0)
    Out[9]: True
    
    In [10]: sparse.isspmatrix_csc??
    ...
    def isspmatrix_csc(x):
        return isinstance(x, csc_matrix)
    

相关问题