Skip to main content
 首页 » 编程设计

python之计算包含字典行的 numpy 数组中所有唯一值的总和

2025年05月04日22dyllove98

我有一个大的 numpy 数组,每一行都包含一个单词字典,格式类似于下面:

data = [{'a': 1, 'c': 2}, {'ba': 3, 'a': 4}, ... } 

有人可以为我指出正确的方向,我将如何计算 numpy 数组每一行中字典的所有唯一值的总和?从上面的例子中,我希望得到这样的东西:

result = {'a': 5, 'c': 2, 'ba': 3, ...} 

目前,我能想到的唯一方法是遍历每一行数据,然后遍历字典的每个键,如果找到唯一键,则将其附加到新字典并设置值,如果找到字典中已包含的键,则将该键的值添加到“结果”中的键。虽然这似乎是一种低效的方法。

请您参考如下方法:

您可以使用 Counter() 并在循环中用 data 中包含的每个字典更新它:

from collections import Counter 
 
data = [{'a': 1, 'c': 2}, {'ba': 3, 'a': 4}] 
c = Counter() 
for d in data: 
    c.update(d) 

输出:

Counter({'a': 5, 'ba': 3, 'c': 2}) 

备用一个类轮:

(由@AntonVBR 在评论中提出)

sum((Counter(dict(x)) for x in data), Counter())