我有一个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
,但这并不适合这项法案。
答案 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}