我有一个scipy.sparse.csr矩阵,想将它转储到 CSV 文件中。有没有办法保持矩阵的稀疏性并将其写入 CSV?
问问题
7153 次
2 回答
8
SciPy 包括通过scipy.io 模块读取/写入 MatrixMarket 格式的稀疏矩阵的函数,包括 mmwrite:http ://docs.scipy.org/doc/scipy/reference/generated/scipy.io.mmwrite.html
MatrixMarket 不是 CSV,而是关闭的。它由一个包含#rows、#cols、# of nonzeros 的单行标题组成,然后是每个非零的一行。这些行中的每一行都是行索引、列索引、值。您可以编写一个将空格转换为逗号的简单脚本,并且您将拥有一个 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 回答