Skip to main content
 首页 » 编程设计

python之从python中的numpy npz文件加载数组

2025年05月04日10mfrbuaa

我通常在 python 中将数据保存在 npz 文件中。如何编写加载 npz 文件并自动创建存在于 .npz 中的数组的函数文件。例如,假设有三个数组 A , B , 和 C在名为 some_data.npz 的文件中.

我想要函数做的是加载 npz归档为

data1 = np.load('some_data.npz') 

然后自动创建三个数组,命名为data1A , data1B和 data1C它存储数组 A , B , 和 C来自原文.npz文件。如何做到这一点?

请您参考如下方法:

如果要创建名称,请将数组存储在 dict 中:

a1 = np.array([1,2,3]) 
a2 = np.array([4,5,6]) 
a3 = np.array([7,8,9]) 
 
np.savez("test", A=a1,B=a2,C=a3) 
a = np.load("test.npz") 
d = dict(zip(("data1A","data1B","data1C"), (a[k] for k in a))) 
print(d) 
{'data1A': array([4, 5, 6]), 'data1C': array([7, 8, 9]), 'data1B': array([1, 2, 3])} 

如果您想在不显式传递名称的情况下创建 key :

a1 = np.array([1, 2, 3]) 
a2 = np.array([4, 5, 6]) 
a3 = np.array([7, 8, 9]) 
 
np.savez("test", A=a1,B=a2,C=a3) 
a = np.load("test.npz") 
 
d = dict(zip(("data1{}".format(k) for k in a), (a[k] for k in a))) 
print(d)