Если я пытаюсь нарезать разреженную матрицу или увидеть значение в заданном [row,colum]
, я получаю IndexError
Точнее, у меня есть следующее scipy.sparse.csr_matrix
, которое я загружаю из файлапосле сохранения
...
>>> A = scipy.sparse.csr_matrix((vals, (rows, cols)), shape=(output_dim, input_dim))
>>> np.save(open('test_matrix.dat', 'wb'), A)
...
>>> A = np.load('test_matrix.dat', allow_pickle=True)
>>> A
array(<831232x798208 sparse matrix of type '<class 'numpy.float32'>'
with 109886100 stored elements in Compressed Sparse Row format>,
dtype=object)
Однако, когда я пытаюсь получить значение для данной пары [строка, столбец], я получаю следующую ошибку
>>> A[1,1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: too many indices for array
Почему это происходит?
Просто чтобы уточнить, я уверен, что матрица не пуста, так как я могу видеть ее содержание, если я сделаю
>>> print(A)
(0, 1) 0.24914551
(0, 2) 0.6669922
(1, 1) 0.75097656
(1, 3) 0.6640625
(2, 3) 0.3359375
(2, 514) 0.34960938
...