如何在python中的文本文件中编写稀疏矩阵?

时间:2019-04-15 13:16:52

标签: python sparse-matrix

我有一个稀疏矩阵,即A_n。 A_n的类型为“ scipy.sparse.csc.csc_matrix”。

例如,A_n是:

(16, 0) 1.0
(71, 1) 1.0
(74, 3) 1.0
(72, 12)    1.0
  .          .
  .          .
(32, 17)    1.0
(64, 17)    1.0
(53, 19)    1.0
(73, 20)    1.0
(52, 21)    1.0
(52, 22)    1.0
(44, 26)    1.0
(53, 26)    1.0
(87, 26)    1.0

我想将A_n的所有内容写在python的文本文件中,如下所示:

16 0 1.0
71 1 1.0
74 3 1.0
.
.

(16, 0) 1.0
(71, 1) 1.0
(74, 3) 1.0
.
.

如果您引导我,我将不胜感激

2 个答案:

答案 0 :(得分:1)

您可以简单地使用str(sparse_matrix)将备用矩阵对象转换为字符串,然后在将maxprint属性更改为spare_matrix.shape [0]后将其写入文件。

sparse_matrix.maxprint = sparse_matrix.shape[0]
with open("spare_matrix.txt","w") as file:
    file.write(str(sparse_matrix)) 
    file.close() 

答案 1 :(得分:0)

此处'i'将遍历矩阵A_n的行,而'j'仅遍历 i-th < / strong> A_n行。

file = open('spare_matrix.txt','w')

for i in range(A_n.shape[0]):
    for j in A_n[i].nonzero()[1]:
        file.write(str(i)+' ' +str(j)+' '+str(A_n[i,j])+'\n')
file.close()