在Python字典中计算非独占值的聚合和

在Python字典中计算非独占值的聚合和,python,dictionary,Python,Dictionary,我有一个Python字典,在我的第一个键值对中,我有一个不同字符串的列表(不同的数字和不同的实际字符串) 我想计算var1键值对中每个不同值的平均值和总和。例如,对于值“a”,总和将是34(第一项)+2(第二项)+10(第五项)=46,而对于b,总和将是34(第一项)+29(第四项)+21(第六项)=74。我希望数据帧中的每个值都有一行 我试过从集合中使用计数器,但这不符合要求。这是总数代码。我会让你来做平均代码 for item in my_dict: for thing in ite

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

我想计算
var1
键值对中每个不同值的平均值和总和。例如,对于值“a”,总和将是34(第一项)+2(第二项)+10(第五项)=46,而对于b,总和将是34(第一项)+29(第四项)+21(第六项)=74。我希望数据帧中的每个值都有一行


我试过从
集合中使用
计数器
,但这不符合要求。

这是总数代码。我会让你来做平均代码

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}

如果您想让我们告诉您出了什么问题,请向我们显示您的非工作代码……创建两个结果字典,并遍历字典。对于每个dict,遍历“var1”列表。对于每个列表项,将其用作结果字典的键,并将一个字典中的“var2”值相加(sum),将1添加到另一个字典中(计算平均值的计数)。使用带有默认值的
dict.get()
collections.defaultdict
可能会有所帮助。
for item in my_dict:
    for thing in item['var1']:
        if thing not in results:
            results[thing] = 0
        results[thing] = results[thing] + item['var2']