一种获取 python scipy 模块的 coo_matrix 中非零值计数的方法?
我想到使用 coo_matrix.nonzero() ,它返回两个数组的元组,其中包含给定矩阵中非零条目的索引。文档中的示例指出:
>>> from scipy.sparse import coo_matrix
>>> A = coo_matrix([[1,2,0],[0,0,3],[4,0,5]])
>>> nonzero_entrys = A.nonzero()
(array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))
然后我会执行类似 len(nonzero_entrys[0]) 的操作,但这看起来像是一种转移。我在文档中忽略了更好的方法吗?
I thought of using coo_matrix.nonzero()
which returns a tuple of two arrays which contain the indices of the nonzero entrys in a given matrix. The example from the docs states:
>>> from scipy.sparse import coo_matrix
>>> A = coo_matrix([[1,2,0],[0,0,3],[4,0,5]])
>>> nonzero_entrys = A.nonzero()
(array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))
Then I would do something like len(nonzero_entrys[0])
but this seem like a diversion. Is there a better way I have overlooked in the docs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
len(A.data)
代替。You could use
len(A.data)
instead.coo_matrix 对象有一个专门提供非零值的属性,称为
.nzz
。作为示例,生成 5x5 识别矩阵。
您可以通过执行
help(scipy.sparse.coo_matrix)
阅读有关它的更多信息并找到其他方便的属性The coo_matrix object has an attribute specifically giving non-zero values, called
.nzz
.As an example, generate an 5x5 identify matrix.
You can read more about it and find other handy attributes by doing
help(scipy.sparse.coo_matrix)