我有一个scipy csr_matrix,根据文档的规定创建方式如下:
import numpy as np
from scipy.sparse import csr_matrix
row = np.array([0, 0, 1, 2, 2, 2])
col = np.array([0, 2, 2, 0, 1, 2])
data = np.array([1, 2, 3, 4, 5, 6])
mtr = csr_matrix((data, (row, col)))
mtr.toarray()
array([[1, 0, 2],
[0, 0, 3],
[4, 5, 6]])
如何高效地将矩阵mtr
转换回最初的三个列表row
, col
和data
?
mtr.data
。 - Sergey Zakharov.data
的顺序也不确定,但似乎那样做也可以(而且更快)。 - saschamtr.nonzero
代码。它将mtr
转换为coo
,并返回行和列属性(但会进行额外的data!=0
测试,以防在创建矩阵后将某些值设置为 0)。 - hpauljcsr_matrix.eliminate_zeros
)。每个方法的“doc”页面都有一个[source]
链接。 - hpaulj