NumPy文件存储详解:.npy与.npz格式读写指南

南乔
南乔
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍NumPy中np.save和np.load函数的用法,讲解如何将数组以未压缩的二进制格式保存为.npy文件,以及如何利用np.savez将多个数组合并保存为压缩的.npz文件。通过具体代码示例,演示了单数组和多数组的保存与读取流程,并指出.npz文件返回类似字典的对象结构,便于通过键名获取数据。

NumPy库支持将数据读写到磁盘,既包括文本数据,也涵盖二进制数据。

将数组以二进制格式保存到磁盘

np.load和np.save是处理磁盘数组数据读写的主要函数。默认情况下,数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。

import numpy as np
a=np.arange(5)
np.save('test.npy',a)

执行上述操作后,程序所在的文件夹中会生成一个名为test.npy的文件。

接下来,从test.npy文件中读取保存的数据。

import numpy as np
a=np.load('test.npy')
print(a)

注意:由于数据已保存为NumPy专用的二进制格式,使用notepad++等文本编辑器打开时会显示为乱码。因此,建议在无需直接查看文件内容的场景下使用此方式。

np.savez函数

若需将多个数组保存至同一个文件中,可使用numpy.savez函数。该函数的第一个参数指定文件名,后续参数为需要保存的数组。可以通过关键字参数为特定数组指定名称;对于未使用关键字参数传递的数组,系统会自动分配arr_0、arr_1等名称。

savez函数生成的是一个压缩文件(扩展名为.npz),其中包含的文件对应于save函数保存的.npy文件,文件名与数组名一致。load函数能够自动识别.npz文件,并返回一个类似字典的对象。用户可以通过数组名作为关键字来获取对应的数组内容:

import numpy as np
a=np.arange(3)
b=np.arange(4)
c=np.arange(5)
np.savez('array_save.npz',a,b,c_array=c)

执行后,程序所在文件夹中会生成一个名为array_save.npz的文件。

从.npz文件中读取数据。

import numpy as np
A=np.load('array_save.npz')
print(A['arr_0'])
print(A['arr_1'])
print(A['c_array'])

以上关于NumPy文件存储(.npy和.npz格式)的详解内容分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表