📅  最后修改于: 2023-12-03 14:46:36.195000             🧑  作者: Mango
numpy.load()
是用于从.npy和.npz文件中加载numpy数组的函数。.npy文件是一种保存单个numpy数组的二进制文件格式,可以通过numpy.load()
函数进行加载。.npz文件是压缩的numpy存档文件,可以包含多个.npy文件,也可以通过numpy.load()
函数进行加载。
numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding='ASCII')
参数
file
:需要加载的.npy或.npz文件的文件名或文件类对象。mmap_mode
:可选参数,表示在返回数组时是否应该使用内存映射来读取.npy或.npz文件数据。默认为None,表示不使用内存映射。allow_pickle
:可选参数,表示是否允许读取.npy或.npz文件中存储的Python对象(如Python列表、元组等)。默认为True。fix_imports
:可选参数,表示是否在加载时尝试将旧的pickle数据导入到新的名称空间中。默认为True。encoding
:可选参数,表示.npy或.npz文件中数据的编码方式。默认为'ASCII'。返回值
函数返回一个numpy.ndarray对象或一个保存多个numpy数组的字典,具体取决于文件的类型。
import numpy as np
arr = np.load('array.npy')
print(arr)
输出
[1 2 3 4 5]
import numpy as np
# 保存多个数组到.npz文件中
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
np.savez('arrays.npz', arr1=a, arr2=b)
# 加载.npz文件
data = np.load('arrays.npz')
# 查看.npz文件中的内容
print(data.files)
print(data['arr1'])
print(data['arr2'])
输出
['arr1', 'arr2']
[1 2 3]
[4 5 6]
import numpy as np
# 保存一个大型数组到.npy文件中
arr = np.ones((100000000,), dtype='i4')
np.save('big_array.npy', arr)
# 使用内存映射模式加载.npy文件
arr_mmap = np.load('big_array.npy', mmap_mode='r')
# 查看内存映射数组的数据类型和形状
print(arr_mmap.dtype)
print(arr_mmap.shape)
输出
int32
(100000000,)
numpy.load()
函数是用于从.npy和.npz文件中加载numpy数组的函数。它可以用于加载单个数组或多个数组的存档文件,并支持使用内存映射模式加载大型数组。