npy文件和npz文件都是用于存储NumPy数组的文件格式。它们的主要区别如下:
-  npy文件:这种文件格式用于存储单个NumPy数组。它是一种简单的二进制文件格式,可以快速地读写NumPy数组。
-  npz文件:这种文件格式是一个压缩包,可以存储多个NumPy数组。npz文件实际上是包含多个npy文件的压缩文件(类似于ZIP文件),因此适用于需要存储多个数组的情况。
当你使用 NumPy 存储数组数据时,有时候会遇到需要保存单个数组或多个数组的情况。这时候,可以使用 npy 文件和 npz 文件来分别处理这些需求。
1. 保存单个数组到 .npy 文件
 
import numpy as np# 创建一个示例数组
arr = np.array([1, 2, 3, 4, 5])# 将数组保存到 npy 文件
np.save('array.npy', arr)
- np.save('array.npy', arr):这行代码将数组- arr保存到名为- array.npy的文件中。- .npy文件是二进制格式,保存了数组的数据、形状、数据类型等信息。
2. 保存多个数组到 .npz 文件
 
import numpy as np# 创建示例数组
arr1 = np.array([1, 2, 3])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])# 将多个数组保存到 npz 文件
np.savez('arrays.npz', array1=arr1, array2=arr2)
- np.savez('arrays.npz', array1=arr1, array2=arr2):这行代码将两个数组- arr1和- arr2保存到名为- arrays.npz的文件中。- .npz文件实际上是一个压缩文件,可以存储多个数组,每个数组都以一个- .npy文件的形式保存,同时保留了数组的名称。
3. 加载 .npy 和 .npz 文件中的数组
 
import numpy as np# 加载单个数组
loaded_arr = np.load('array.npy')
print('Loaded array:', loaded_arr)# 加载 npz 文件中的数组
npzfile = np.load('arrays.npz')
arr1_loaded = npzfile['array1']
arr2_loaded = npzfile['array2']
print('Loaded array 1:', arr1_loaded)
print('Loaded array 2:', arr2_loaded)
- np.load('array.npy'):加载单个- npy文件中的数组。
- np.load('arrays.npz'):加载- npz文件中的所有数组,返回一个类似字典的对象- npzfile,可以通过键来访问各个数组。
这些示例展示了如何使用 NumPy 的 np.save 和 np.savez 函数将数组保存到文件中,以及使用 np.load 函数加载保存的数据。