检查scipy稀疏矩阵是CSC还是CSR。

3
我想知道检查scipy稀疏矩阵是否为CSC或CSR的最佳方法。目前我正在使用以下代码:
rows, cols = X.shape()
indptr = X.indptr()
if len(indptr) == cols + 1:
    print "csc"
else:
    print "csr"

感谢您的选择。
2个回答

10

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

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

谢谢。下次在发布之前应该更仔细地查看文档。 - Manoj

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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接