Python的稀疏矩阵和参数保存 save/load

Posted 落日峡谷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的稀疏矩阵和参数保存 save/load相关的知识,希望对你有一定的参考价值。

1. 稀疏矩阵的建立:coo_matrix()

from scipy.sparse import coo_matrix

# 建立稀疏矩阵
data = [1,2,3,4]
row = [3,6,8,2]
col = [0,7,4,9]

c = coo_matrix((data,(row,col)),shape=(10,10)) #构建10*10的稀疏矩阵,其中不为0的值和位置在第一个参数
print(c)

2. 稀疏矩阵转化为密集矩阵:todense()

d = c.todense()
print(d)

3. 将一个0值很多的矩阵转化为稀疏矩阵

e = coo_matrix(d)  #将一个0值很多的矩阵转为稀疏矩阵
print(e)

4. save:类似于matlab中的.mat格式,python也可以保存参数数据,除了保存成csv,json,excel等之外,个人觉得matlab的.mat格式真的很强,啥都可以直接保存~~

import numpy as np

# numpy.save(arg_1,arg_2),arg_1是文件名,arg_2是要保存的数组
aa = np.array(d)
print(aa)

# save
np.save(\'test_save_1.npy\', aa)  #保存一个数组
np.savez(\'test_save_2\', aa=aa, d=d)  #保存多个数组,其中稀疏矩阵可以直接保存

5. load:加载参数数据

#load
a_ = np.load(\'test_save_1.npy\')
print(a_)
dt
= np.load(\'test_save_2.npz\') #npz数据加载后是一个字典格式数据 print(dt) print(dt[\'aa\']) print(dt[\'d\']) #获取其中的参数值,类似于字典形式获取

6. 获取npz数据的参数名称

#获取参数名称
p_name =list(dt.keys())
print(p_name)

#获取值
p_value =list(dt.values())
print(p_value)

 

#

参考:

https://blog.csdn.net/littlehaes/article/details/103523512

https://www.cnblogs.com/Yiutto/p/5827775.html

以上是关于Python的稀疏矩阵和参数保存 save/load的主要内容,如果未能解决你的问题,请参考以下文章

Python使用scipy包将稀疏矩阵保存为Mtx格式和npz格式文件实战

Python处理alist文件——稀疏矩阵的读取和存储

Python处理alist文件——稀疏矩阵的读取和存储

将使用-v7.3(HDF5)保存的Matlab稀疏矩阵加载到Python中并对其进行操作

python中scipy学习——随机稀疏矩阵及操作

稠密矩阵怎么转成稀疏矩阵 python