您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

以可移植数据格式保存/加载scipy稀疏csr_matrix

以可移植数据格式保存/加载scipy稀疏csr_matrix

SciPy 1.19现在具有scipy.sparse.save_npzscipy.sparse.load_npz

from scipy import sparse

sparse.save_npz("yourmatrix.npz", your_matrix)
your_matrix_back = sparse.load_npz("yourmatrix.npz")

对于这两个函数file参数也可以是类似于文件的对象(即的结果open),而不是文件名。

从Scipy用户组得到了答案:

一个csr_matrix有3个数据属性此事:.data.indices,和.indptr。所有都是简单的ndarray,因此numpy.save可以在它们上使用。用numpy.save或保存三个数组,用numpy.savez加载它们numpy.load,然后用以下方法重新创建稀疏矩阵对象:

new_csr = csr_matrix((data, indices, indptr), shape=(M, N))

因此,例如:

def save_sparse_csr(filename, array):
    np.savez(filename, data=array.data, indices=array.indices,
             indptr=array.indptr, shape=array.shape)

def load_sparse_csr(filename):
    loader = np.load(filename)
    return csr_matrix((loader['data'], loader['indices'], loader['indptr']),
                      shape=loader['shape'])
其他 2022/1/1 18:42:15 有436人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶