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

时间:2014-03-22 15:29:00

标签: python scipy sparse-matrix

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

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

感谢。

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分: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)