Это, вероятно, артефакт того, что происходит под капотом для списка разреженных массивов списков.Если вы печатаете весь массив, индексы верны, но если вы срежете строку, вы получите относительные индексы.Проверьте это:
>>> print a
(0, 0) 5.0
(0, 1) 6.0
(0, 20) 9.0
(1, 5) 55.0
(1, 50) 99.0
>>> print a[1,:]
(0, 5) 55.0
(0, 50) 99.0
Я не заглядывал в тайну, чтобы понять, почему это происходит, но если вам действительно нужно знать, списки рассылки Numpy / SciPy действительноотзывчивый.