72504


ある行列があり、`scipy.sparse.csr.csr_matrix`クラスで保存されています。行と列を指定した非ゼロ要素のみが保存されている状態です。(例：以下はデータの一部です

[code]

    (0, 8) 1
    (0, 14) 1
    (0, 258) 1
    
[/code]

このようなcsr_matrixで表示されている状態のデータが必要なので、保存したいのですがうまくいきません。  
素朴な方法として、`numpy`の`set_printoptions(threshold=np.inf)`として全要素を`print`、そしてコピーアンドペーストをしようとしたのですが、それもうまくいきません。（全部表示されない）  
csr_matrixの中身をすべて`print`する方法、もしくはtxtやcsvファイル形式に保存できる方法はありませんか？


CC BY-SA 4.0
2020-12-08T14:29:00.780
72503
2020-12-08T15:37:53.943
36750
question
python python3
csr_matrixの非ゼロ要素を全て表示・保存する方法

[code]

    your_csr_matrix.maxprint = your_csr_matrix.count_nonzero()
    with open("result.txt","w") as file:
    　　　file.write(str(your_csr_matrix)) 
    　　　file.close() 
    
[/code]

metropolisさんのコメントで解決したので、回答として残しておきます。

[code]

    your_csr_matrix.maxprint = your_csr_matrix.count_nonzero()
    
[/code]

で`csr_matrix`の非零要素を全て`print`で表示することができます。


CC BY-SA 4.0
2020-12-08T15:37:53.943
72504
2020-12-08T15:37:53.943
36750
72503
answer