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
函数加载保存的数据。