python 中数组内多个对象元素的总和和平均值

Sum and average of multiple object elements inside an array in python

我正在尝试从 Django 向前端发送响应,我的响应如下所示

[
        {
            "MonthNameOfYear": "January",
            "Population": 113692,
            "Density": 68247,
        },
        {
            "MonthNameOfYear": "February",
            "Population": 973990,
            "Density": 58158,
        }
        {
            "MonthNameOfYear": "March",
            "Population": 534123,
            "Density": 33242,
        }
        {
            "MonthNameOfYear": "April",
            "Population": 234520,
            "Density": 12340,
        }
        {
            "MonthNameOfYear": "May",
            "Population": 153234,
            "Density": 42342,
        }
]

我想要另一个数组,其中包含所有月份的人口总和和平均密度 像这样

[
    { 
         "totalPopulation": something,
         "avgDensity": something
    }
]

对象的数量可能会有所不同。加上对象内部的元素也可能增加,我需要计算总和和平均值。 现在我正在访问一个数据库来获取数据并将其变成一个数组,我不想改变其中的任何内容,因为它在很多其他情况下都是一个常见的功能。

从给定的列表中生成所需实体的列表(我想它被命名为 some_list,因为您没有提供名称):

population_list = [d['Population'] for d in some_list]

您可以通过简单地对列表求和来计算总人口:

total_population = sum(population_list)

对于平均数的计算,存在许多可能的解决方案,几乎不可能说出所有的解决方案。可能是来自 statistics

mean()