我通常在 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)
