Как перебирать строки в матрице csr? - PullRequest
0 голосов
/ 30 января 2020

Я использую этот код для перебора элементов в матрице csr.

import numpy as np
from scipy import sparse
A = [[0,0,0,0],[5,8,0,0],[0,0,3,0],[0,6,0,0]]
M = sparse.csr_matrix(A)   
print(type(M))

zip2 = lambda x: zip(x[0], x[1])
for i1, i2 in zip2(M.tocsr().nonzero()):
    print(i1, i2, M[i1, i2])

Но я бы хотел перебирать строки таким способом. Есть ли способ сделать это?

for i1 in ...:
   # Do something with i1
   for i2 in ...:
       # Do something with (i1, i2)

Один из способов добиться этого - использовать .indices .indptr .data. Но, возможно, есть что-то более читабельное, чем этот способ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...