用总和替换 NumPy 数组和单个数字字典中的值

mn_*_*_wy 6 python dictionary numpy

我有一本字典surnames

import numpy as np

surnames = {
    'Sophie': np.array([138, 123]), 
    'Marie': np.array([126, 1, 50, 1]), 
    'Maximilian': np.array([111, 74]),
    'Alexander': 87, 
    'Maria': np.array([85, 15, 89, 2]), 
    'Paul': np.array([70, 59]), 
    'Katharina': 69, 
    'Felix': np.array([61, 53]), 
    'Anna': np.array([57, 58]), 
    'Ben': np.array([49, 47])
}
Run Code Online (Sandbox Code Playgroud)

我想对所有数组求和并将它们保存在同一个字典中,以便总和替换数组:

{
    'Sophie': 261,
    'Marie': 178,
    'Maximilian': 185,
    'Alexander': 87,
    'Maria': 191,
    'Paul': 129,
    'Katharina': 69,
    'Felix': 114,
    'Anna': 115,
    'Ben': 96
}
Run Code Online (Sandbox Code Playgroud)

我试过这个:

new_dict = dict()
for k, v in surnames:
    new_dict.update({k:sum(v)})
Run Code Online (Sandbox Code Playgroud)

我认为这不起作用,因为它只对同一键的单个值求和?

我也试过这个:

data = list(surnames.values())
cl_surnames = np.array(data)
cl_surnames = np.sum(cl_surnames, 0)
Run Code Online (Sandbox Code Playgroud)

我明白为什么这也不起作用,但我还能做什么?

hou*_*fai 5

您可以使用字典理解:

x = {key: np.sum(value) for key, value in dict_.items()}
Run Code Online (Sandbox Code Playgroud)