from scipy.sparse import *
import numpy
a = numpy.array([12, 0, 0, 0, 3, 0, 0, 1])
m = csr_matrix(a)
d = {}
for i in m.nonzero()[1]:
    d[i] = m[0, i]
print(d)
Самый быстрый способ преобразовать массив Numpy в разреженный словарь?