我有1000个这样的嵌套字典列表。这是一个嵌套字典列表的示例,其他列表具有相同的键:
[{'key1': {'key1': array([[1.]]),
'key2': array([[1.]]),
'key3': array([[1.]]),
'key4': array([[0.85722112]])}},
{'key2': {'key1': array([[1.]]),
'key2': array([[1.]]),
'key3': array([[1.]]),
'key4': array([[0.85722112]])}},
{'key3': {'key1': array([[1.]]),
'key2': array([[1.]]),
'key3': array([[1.]]),
'key4': array([[0.85722112]])}},
{'key4': {'key1': array([[0.85722112]]),
'key2': array([[0.85722112]]),
'key3': array([[0.85722112]]),
'key4': array([[1.]])}}]
我花了一些时间进行研究,但仍然没有找到是否有一种方法可以基于同一个键来计算所有嵌套dict列表中的平均值而无需强行使用。 json库中有一些命令吗?
答案 0 :(得分:0)
这是一种实现方法:
t = pd.json_normalize([list(x.values())[0] for x in l])
此时,t的值为:
key1 key2 key3 key4
0 [[1.0]] [[1.0]] [[1.0]] [[0.85722112]]
1 [[1.0]] [[1.0]] [[1.0]] [[0.85722112]]
2 [[1.0]] [[1.0]] [[1.0]] [[0.85722112]]
3 [[0.85722112]] [[0.85722112]] [[0.85722112]] [[1.0]]
现在,做:
t = t.applymap(lambda x: x[0][0])
t.mean()
输出为:
key1 0.964305
key2 0.964305
key3 0.964305
key4 0.892916
dtype: float64