python怎么打开npz文件,从python中的numpy npz文件加载数组

I usually save data in npz files in python. How to write a function which loads the npz file and automatically creates arrays which are present in the .npz file. For example, say there are three arrays A, B, and C in a file named some_data.npz.

What I want the function to do is load the npz file as

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

and then automatically create three arrays named data1A, data1B and data1C which stores the arrays A, B, and C from the original .npz file. How to do this?

解决方案

If you want to create names store the arrays in a 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])}

If you want to create the keys without passing the names explicitly:

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值