7

scipy.sparse.csrマトリックスがあり、CSVファイルにダンプしたいと思います。マトリックスのスパース性を維持してCSVに書き込む方法はありますか?

4

2 に答える 2

8

SciPyには、mmwriteを含むscipy.ioモジュールを介してMatrixMarket形式でスパース行列を読み取り/書き込みする関数が含まれています:http: //docs.scipy.org/doc/scipy/reference/generated/scipy.io.mmwrite.html

MatrixMarketはCSVではありませんが、近いです。これは、#rows、#cols、#of nonzerosを含む1行のヘッダーと、それに続くnonzeroごとに1行で構成されます。これらの各行は、行インデックス、列インデックス、値です。空白をコンマに変換する簡単なスクリプトを作成すると、CSVが作成されます。

于 2011-05-23T23:31:28.697 に答える
0

Scipy 0.19を使用すると、非常に簡単になります。

import scipy.sparse as sp
m = sp.csr_matrix([[1,0,0],[0,1,0],[0,0,1]])

sp.save_npz("file_name.npz", m)

ファイルをメモリにロードしています

new_m = sp.load_npz("file_name.npz")
于 2021-09-11T10:03:11.347 に答える