irpas技术客

python中保存一个数组,你会吗?_frank_haha_python 保存数组

irpas 7889

在机器学习领域,有时候想把模型运行过程中的重要信息(数组,dnarray类型的)存到一个文档里。方便下次读取。

下面介绍三种:

1. 存成2进制数

numpy提供了接口save和load。使用方法如下:

import numpy as np a = np.array([1]) np.save("test00000001",arr=a)

以上存入,下面读取:

import numpy as np data = np.load('test00000001.npy')

这种方法适合python程序之间的通信,读写速度极快。 生成的是.npy格式(NumPy )的二进制文件。用记事本打开是乱码,所以只适合python中numpy打开。

2. 存成.csv格式

使用np.savetxt和np.loadtxt模块。

import numpy as np a = np.array([1,2,3]) np.savetxt('test000002.csv', a, delimiter=',')

以上存入,下面读取:

import numpy as np data = np.loadtxt('test000002.csv', delimiter=',')

需要注意的是,这种方法需要指定分隔符(一般都是,逗号) 文件以csv形式存储,可以用记事本和excel打开查看。

3. 超大型数据存储—.npz形式文件

有的数据体量几十个G,不方便和别人通信。npz可以将其压缩到几百兆,方便通讯。 用法如下:

import numpy as np a = np.array([1,2,3]) np.savez_compressed('test00003.npz', a)

读取:

import numpy as np data = np.load('test00003.npz') print(data['arr_0']) print(type(data), type(data['arr_0']))

注意:读取上来的是一个类似压缩包的东西,需要通过内置的索引将压缩的数据取出。

以下是完整的数据结构,看似很复杂,但如果只是读取的话,记住基本命令即可。 储存形式如下: 记事本打开会乱码。

json简记

json文件一般用于存取结构化数据,常用于字典类型数据存取: 写:

import json name = ['A', 'B', 'C'] num = [1, 2, 3] a_dict = dict(zip(name, num)) a_dict_json = json.dumps(a_dict) with open('test0004.json', 'w') as file: file.write(a_dict_json)

读:

import json with open('test0004.json', 'r') as file: data_raw = file.read() data = json.loads(data_raw) print(data_raw) print(data) print(type(data_raw), type(data))

结果如下: 参考链接: 前三小节 最后一小节


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Python #保存数组 #方便下次读取 #下面介绍三种1 #使用方法如下import #numpy