字典的嵌套字典上的平均值



我在Python中有以下嵌套字典:

{'data1':{'IOU':{'B':0.1,'G':0.3},
'lines':{'B':{'accuracy':0.3, "recall":0.3},'G':{'accuracy':0.1, "recall":0.6}}},
'data2':{'IOU':{'B':0.2,'G':0.8},
'lines':{'B':{'accuracy':0.5, "recall":0.3},'G':{'accuracy':0.9, "recall":0.5}}}}

从这里我想创建一个像这样的新字典:

{'lines':{'B':{'accuracy':0.4, 'recall': 0.3}, 'G':{'accuracy':0.5, "recall":0.55}}}}

我基本上想为'lines'键获得一个嵌套字典,以便:

  • 新密钥为B和G
  • 新值为平均值每个键(B和G)和每个度量(准确率和召回率)的值

我正在努力与此,谁能建议如何编码?

你可以在你的输入字典(我们叫它d_in)上使用字典理解:

letters = ["B", "G"]
metrics = ["accuracy", "recall"]
result = {
"lines": {
letter: {
metric: (
sum(data["lines"][letter][metric] for data in d_in.values()) / len(d_in)
)
for metric in metrics
}
for letter in letters
}
}

最新更新