【发布时间】:2021-06-16 02:08:36
【问题描述】:
我有几个具有相同结构的 Python3 字典,将字符串标签映射到实际值。例如,对于 4 个条目,数据集可能如下所示:
{"a": 1.2, "b": 3.2, "c":5.65}
{"a": 2.5, "b": 3.8, "c":9.65}
{"a": 2.8, "b": 3.2, "c":2.65}
{"a": 1.8, "b": 1.2, "c":3.65}
我想对这些组件进行组件平均,所以最终结果应该如下所示:
{"a": 2.07, "b": 2.85, "c":5.4}
我知道如何使用 for 循环将值相加并将每个条目除以最后的计数来解决问题,例如
def final_results(scores):
result = {}
for score in scores:
for k, v in score.items():
if k not in result:
result[k] = v
else:
result[k] += v
for k, v in result:
result[k] = v / len(scores)
return result
,但我正在寻找一种以功能方式解决问题的方法,使用 lambda、map、filter 等。有吗?
【问题讨论】:
-
旁白:您是否考虑过使用例如熊猫?这可能更适合您的问题,即使它不是直接起作用的。
-
我已经有很多依赖项,所以我会避免添加另一个,但如果没有“普通”可用的话,这将是一个解决方案
-
好吧,使用 Pandas DataFrame,您可能会使用
df.mean(axis=0)来获得每列的平均值。 -
将研究 Pandas 解决方案。不过,仍然对 plain python3 感到好奇。
标签: python python-3.x dictionary functional-programming average