我在Matlab中有一个N x N稀疏矩阵,它的单元格值由(r,c)对索引,因此r和c是唯一的id。
问题是,在将此矩阵转换为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矩阵相同的索引的解决方案。不需要重建矩阵的解决方案将是理想的,但我也很好奇其他人是如何解决这个问题的。
答案 0 :(得分:2)
谢谢大家的好建议。
我决定坚持使用Python。我在Matlab和Python之间进行大部分数据传输 现在使用文本文件。