在Python中使用load_npz()函数加载压缩的npz文件
发布时间:2023-12-11 04:29:22
在Python中,我们可以使用numpy库中的load_npz()函数来加载压缩的.npz文件。.npz文件是一种压缩的Numpy数组文件,可以同时保存多个Numpy数组。
下面是一个使用load_npz()函数的例子:
首先,我们需要创建一个.npz文件,保存一些Numpy数组。我们可以使用savez()函数来保存:
import numpy as np
# 创建一些Numpy数组
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
# 保存为.npz文件
np.savez('compressed_data.npz', arr1=arr1, arr2=arr2)
接下来,我们可以使用load_npz()函数来加载.npz文件并获得其中的数组:
import numpy as np
# 加载.npz文件
data = np.load('compressed_data.npz')
# 获取其中的数组
arr1 = data['arr1']
arr2 = data['arr2']
print("arr1:", arr1)
print("arr2:", arr2)
以上代码会输出:
arr1: [1 2 3 4 5] arr2: [[1 2 3] [4 5 6]]
如上所示,我们通过data['key']的方式获取了.npz文件中的数组。其中,key是我们在保存时为数组指定的名称。
需要注意的是,使用load_npz()函数加载的数组是稀疏数组(scipy.sparse.csr.csr_matrix),如果原始数据文件中的数组是稀疏的话。如果是稠密数组的话,可以使用np.load()函数加载.npy文件。
我们还可以使用load()函数来加载.npz文件并获得一个字典,其中包含了所有的数组:
import numpy as np
# 加载.npz文件
data = np.load('compressed_data.npz')
# 获取所有的数组字典
arrays = dict(data)
# 遍历并打印数组
for key, value in arrays.items():
print(key, ":", value)
以上代码会输出:
arr1 : [1 2 3 4 5] arr2 : [[1 2 3] [4 5 6]]
这里dict(data)将会得到一个字典对象。
总结起来,使用load_npz()函数可以非常方便地加载压缩的.npz文件,并获取其中的Numpy数组。这对于保存和加载多个Numpy数组非常有用,可以方便地保存和加载数据,便于数据的读取和处理。
