use*_*009 12 python arrays dictionary numpy
我有一个numpy数组,我想从数组创建一个字典.
更具体地说,我想要一个具有与行对应的键的字典,因此键1应该是第1行的总和.
s1是我的数组,我知道如何得到行的总和但是做numpy.sum(s1[i]),我是行.
我正在考虑创建一个循环,我可以计算行的总和,然后将其添加到字典,但我是编程的新手,所以我不知道如何做到这一点,或者是否可能.
有人有什么建议吗?
编辑
我使用范围函数创建了键值.然后压缩键和阵列.
mydict = dict(zip(keys, s1))
Run Code Online (Sandbox Code Playgroud)
DSM*_*DSM 16
我会在精神上做类似的事情,只做dict(zip(keys, s1))两个小小的改动.
首先,我们可以使用enumerate,其次,我们可以调用s 的sum方法ndarray.例:
>>> arr = np.arange(9).reshape(3,3)
>>> arr
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> arr.sum(axis=1)
array([ 3, 12, 21])
>>> dict(enumerate(arr.sum(axis=1)))
{0: 3, 1: 12, 2: 21}
Run Code Online (Sandbox Code Playgroud)