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):这行代码将两个数组 arr1arr2 保存到名为 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.savenp.savez 函数将数组保存到文件中,以及使用 np.load 函数加载保存的数据。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐