从numpy数组创建字典

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)