计算Python字典中非独占值的总和

时间:2017-11-16 01:44:12

标签: python dictionary

我有一个Python字典,在我的第一个键值对中,我有一个不同字符串的列表(不同的数字和不同的实际字符串)。

my_dict = [{"var1":['a','b'],
           "var2": 34},
          {"var1":['a','c'],
           "var2": 2},
          {"var1":['c','d','e'],
           "var2": 17},
          {"var1":['b','e'],
           "var2": 29},
          {"var1":['a','d','e'],
           "var2": 10},
          {"var1":['b','d'],
           "var2": 21}]

我想计算var1键值对中每个不同值的平均值和总和。因此,例如,对于值' a',总和将是34(第1项)+ 2(第2项)+ 10(第5项)= 46,对于b,它将是34(第1) + 29(第4)+ 21(第6)= 74.我想在数据框中为每个值添加一行。

我已经Counter尝试了collections,但这并不适合这项法案。

1 个答案:

答案 0 :(得分:1)

这是总和代码。我会留给你做平均代码。

for item in my_dict:
    for thing in item['var1']:
        if thing not in results:
            results[thing] = 0
        results[thing] = results[thing] + item['var2']

结果{'a':46,'b':84,'c':19,'d':48,'e':56}

相关问题