Итерация по вектору (или матрице) scipy.sparse

Мне интересно, как лучше всего перебирать ненулевые элементы разреженных матриц с помощью scipy.sparse. Например, если я сделаю следующее:

from scipy.sparse import lil_matrix

x = lil_matrix( (20,1) )
x[13,0] = 1
x[15,0] = 2

c = 0
for i in x:
  print c, i
  c = c+1

, на выходе будет

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13   (0, 0) 1.0
14 
15   (0, 0) 2.0
16 
17 
18 
19  

, поэтому кажется, что итератор касается каждого элемента, а не только ненулевых записей. Я взглянул на API

http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.lil_matrix.html

и немного поискал, но могу ' Кажется, я не могу найти решение, которое работает.

41
задан Alex Riley 6 June 2015 в 20:45
поделиться