我有一个稀疏矩阵,如果我打印的话看起来像这样:
(0, 1773) 0.626247271075
(0, 1604) 0.626247271075
(0, 1515) 0.299755787345
(0, 660) 0.354647964743
(1, 2379) 0.206542018824
(1, 2159) 0.158175640686
实际上有超过2000列,但因为它是稀疏矩阵,所以只打印它。我想获得看起来像第二列的值,按最后一列排序,如下所示:
x: 1604 y: 0.626247271075
x: 660 y: 0.354647964743
x: 1515 y: 0.299755787345
x: 2379 y: 0.206542018824
x: 2159 y: 0.158175640686
Scipy文档对我来说不是很清楚,如何访问这些列?
答案 0 :(得分:0)
您可以使用str_replace()
from scipy.sparse import csr_matrix
A = csr_matrix([[1,2,0],[0,0,3],[4,0,5]])
print(A.nonzero())
(array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))