Предположим, у меня есть следующий словарь:
my_dict = {200101: {1: [350, 400, 150], 2: [350, 200, 240]}, 200102: {1: [200, 250, 100], 2: [300, 450, 400]}, 200103: {1: [200, 365, 199], 2: [200,200,200]}}
Как бы я перебрал иерархический словарь, чтобы получить среднее значение для каждого значения во встроенных словарях (которые являются списками)?
Вот результат, который я хотел бы:
{200101: {1: 300, 2: 263.33}, 200102: {1: 183.33, 2: 383.33}, 200103: {1: 254.66, 2: 200}}
Я пробовал следующий код:
import statistics
outer_dict = {}
inner_dict = {}
for st,vals in my_dict.items():
outer_dict.update({st: inner_dict})
for st1, vals1 in vals.items():
inner_dict.update({st1: statistics.mean(vals1)})
И когда я звоню
outer_dict
Возвращает
{200101: {1: 254.66666666666666, 2: 200}, 200102: {1: 254.66666666666666, 2: 200}, 200103: {1: 254.66666666666666, 2: 200}}