我有一个 numpy 数组,我想从该数组创建一个字典。
更具体地说,我想要一个具有与行对应的键的字典,因此键 1 应该是第 1 行的总和。
s1 是我的数组,我知道如何获取行的总和,但是执行 numpy.sum(s1[i])
,其中 i 是行。
我正在考虑创建一个循环,我可以在其中计算行的总和,然后将其添加到字典中,但我是编程新手,所以我不确定如何执行此操作或是否可行。
有人有什么建议吗?
编辑
我使用范围函数创建了键值。 然后压缩键和数组。
mydict = dict(zip(keys, s1))
最佳答案
我会做一些与您的 dict(zip(keys, s1))
类似的事情,但有两个小改动。
首先,我们可以使用enumerate
,其次,我们可以调用 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}
关于python - 从 numpy 数组创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991338/