我有一个1000+默认词典的字典,我想迭代每个默认字典,在键上加总,然后除以计数得到每个键的平均值.
每个默认字典都有相同的键,即
{'A': 0.0, 'B': 1.0, 'C': 1.0, 'D': 1.0, 'E': 1.0}
{'A': 2.0, 'B': 1.2, 'C': 3.0, 'D': 1.0, 'E': 3.0}
Run Code Online (Sandbox Code Playgroud)
我希望以下内容成为我的输出
{'A': 1.0, 'B': 1.1, 'C': 2.0, 'D': 1.0, 'E': 2.0}
Run Code Online (Sandbox Code Playgroud)
如何迭代添加默认的dicts,然后将它们分开,在DataFrame中进行一行操作?或者有更好的方法来做这件事吗?
谢谢
如何使用词典理解sum:
d1 = {'A': 0.0, 'B': 1.0, 'C': 1.0, 'D': 1.0, 'E': 1.0}
d2 = {'A': 2.0, 'B': 1.2, 'C': 3.0, 'D': 1.0, 'E': 3.0}
dicts = {"d1": d1, "d2": d2}
n = len(dicts)
res = {k: sum(d[k] for d in dicts.values()) / n for k in d1}
# {'A': 1.0, 'B': 1.1, 'C': 2.0, 'D': 1.0, 'E': 2.0}
Run Code Online (Sandbox Code Playgroud)
注意:这是假设,正如您在问题中所写的那样,所有dicts具有相同的键,或者是defaultdicts,因此丢失的键不会导致错误.