У меня есть N x N разреженная матрица в Matlab, в которой значения ячеек индексируются парами (r, c), так что r и c являются уникальными идентификаторами.
Проблема в том, что после преобразования этой матрицы в Python все значения индексов уменьшаются на 1.
Например:
Before After
(210058,10326) = 1 (210057,10325) = 1
В настоящее время яЧтобы противодействовать этому, выполните следующие действия:
mat_contents = sparse.loadmat(filename)
G = mat_contents['G']
I,J = G.nonzero()
I += 1
J += 1
V = G.data
G = sparse.csr_matrix((V,(I,J)))
Я также пытался использовать другие параметры в scipy.sparse.io.loadmat
{matlab_compatible, mat_dtype}, но ни один из них не работал.
Я ищу решение, котороедаст мне те же индексы, что и матрица Matlab.Решения, которые не требуют реконструкции матрицы, были бы идеальными, но мне также любопытно, как другие обошли эту проблему.