Numpy⼆进制⽂件存储(NPY,NPZ)
Numpy binary files (NPY, NPZ)numpy教程 pdf
numpy.load和numpy.save函数
以NumPy专⽤的⼆进制类型保存数据,这两个函数会⾃动处理元素类型和shape等信息,使⽤它们读写数组就⽅便多了,但是numpy.save 输出的⽂件很难和其它语⾔编写的程序读。
使⽤时,数组会以未压缩的原始⼆进制格式保存在扩展名为.npy的⽂件中。
import numpy as np
# 将数组以⼆进制格式保存到磁盘
arr=np.arange(5)
np.save('test',arr)
# 读取数组
print(np.load('test.npy'))
Note:
1. ⽂件要保存为.npy⽂件类型,否则会出错
2. 保存为numpy专⽤⼆进制格式后,就不能⽤notepad++打开(乱码)看了,这是相对tofile内建函数不好的⼀点
numpy.savez函数
如果你想将多个数组保存到⼀个⽂件中的话,可以使⽤numpy.savez函数。
savez函数的第⼀个参数是⽂件名,其后的参数都是需要保存的数组,也可以使⽤关键字参数为数组起⼀个名字,⾮关键字参数传递的数组会⾃动起名为arr_0, arr_1, ...。
savez函数输出的是⼀个压缩⽂件(扩展名为npz),其中每个⽂件都是⼀个save函数保存的npy⽂件,⽂件名对应于数组名。
load函数⾃动识别npz⽂件,并且返回⼀个类似于字典的对象,可以通过数组名作为关键字获取数组的内容:
import numpy as np
# 将多个数组保存到磁盘
a = np.arange(5)
b = np.arange(6)
c = np.arange(7)
np.savez('test', a, b, c_array=c) # c_array是数组c的命名
# 读取数组
data = np.load('test.npz') #类似于字典{‘arr_0’:a,’arr_1’:b,’c_array’:c}
print('arr_0 : ', data['arr_0'])
print('arr_1 : ', data['arr_1'])
print('c_array : ', data['c_array'])
--------------------------------------------------------------------------------
arr_0 : [0 1 2 3 4]
arr_1 : [0 1 2 3 4 5]
c_array : [0 1 2 3 4 5 6]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论