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

标签 python numpy dictionary

我有一本字典 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])
}

我想对所有数组求和并将它们保存在同一个字典中,以便总和替换数组:
{
    'Sophie': 261,
    'Marie': 178,
    'Maximilian': 185,
    'Alexander': 87,
    'Maria': 191,
    'Paul': 129,
    'Katharina': 69,
    'Felix': 114,
    'Anna': 115,
    'Ben': 96
}

我试过这个:
new_dict = dict()
for k, v in surnames:
    new_dict.update({k:sum(v)})

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

我也试过这个:
data = list(surnames.values())
cl_surnames = np.array(data)
cl_surnames = np.sum(cl_surnames, 0)

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

最佳答案

您可以使用字典理解:

x = {key: np.sum(value) for key, value in dict_.items()}

关于python - 用总和替换 NumPy 数组和单个数字字典中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61971372/

相关文章:

python - 切片数组时出现内存错误

python - 如何防止将相同的值(使用另一个键)添加到字典中?

python - 在 Python 中使用空字典创建一个集合返回 False

python - 补丁 - 为什么相对补丁目标名称不起作用?

python Pandas : Simple example of calculating RMSE from data frame

python - 在 pandas 管道方法中替换第二行开始的值

python 值列表,如何?

python - 使用百分位数从 pandas 数据框中删除异常值

python - 从 float 字符串中获取 torch.tensor

python - 最高效的字典计数器