直接将 scipy.sparse 矩阵保存为常规 txt 文件

问题描述 投票:0回答:1

我有一个

scipy.sparse
矩阵 (
csr_matrix()
)。但我需要将其保存为不是
.npz
格式的文件,而是作为常规
.txt
.csv
文件。我的问题是我没有足够的内存将稀疏矩阵转换为常规
np.array()
然后将其保存到文件中。有没有办法将数据作为稀疏矩阵存储在内存中,但直接将其作为常规矩阵保存到磁盘上?或者有没有办法“解压”一个
.npz
文件而不将其加载到 Python 内存中?

python scipy sparse-matrix
1个回答
0
投票

保存:

import numpy as np
from scipy import sparse
A = sparse.eye(10, format='csr')

np.savetxt('data.txt', A.data)
np.savetxt('indices.txt', A.indices)
np.savetxt('indptr.txt', A.indptr)

加载:

data = np.loadtxt('data.txt')
indices = np.loadtxt('indices.txt')
indptr = np.loadtxt('indptr.txt')
A = sparse.csr_matrix((data, indices, indptr))
© www.soinside.com 2019 - 2024. All rights reserved.