npz和npy数据

20221123

import numpy as np
npz_file_path = 'example.npz'
npz_data = np.load(npz_file_path)
print(npz_data)
# print: <numpy.lib.npyio.NpzFile object at 0x7fd641029910>

lst = npz_data.files
for item in lst:
    print(item)
    #print(npz_data[item])

a = npz_data['data']
a.shape

a是一个标准的np数组

npz文件——压缩文件
使用np.savez()函数可以将多个数组保存到同一个文件中。
np.savez()函数的第一个参数是文件名,其后的参数都是需要保存的数组。传递数组时可以使用关键字参数为数组命名,非关键字参数传递的数组会自动起名为arr_0、arr_1……

np.savez()函数输出的是一个扩展名为.npz的压缩文件,它包含多个与保存的数组对应的npy文件(由save()函数保存),文件名对应数组名
读取.npz文件时使用np.load()函数,返回的是一个类似于字典的对象,因此可以通过数组名作为关键字对多个数组进行访问

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]

npy文件——Numpy专用的二进制格式

np.load()和np.save()是读写磁盘数组数据的两个重要函数。使用时,数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。

import numpy as np

# 将数组以二进制格式保存到磁盘
arr=np.arange(5)
np.save('test',arr)
# 读取数组
print(np.load('test.npy'))

参考:
[1] https://www.cnblogs.com/lilu-1226/p/9768368.html
[2] https://www.runoob.com/numpy/numpy-io.html

posted @ 2022-11-23 11:59  xiaoxuxli  阅读(849)  评论(0编辑  收藏  举报