7

我有一个scipy.sparse.csr矩阵,想将它转储到 CSV 文件中。有没有办法保持矩阵的稀疏性并将其写入 CSV?

4

2 回答 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 回答