按人口计算平均年龄
正如 Jason 在视频中所讲,要计算加权平均数,先求出每个权重与对应取平均值相乘后的总和,然后再除以所有权重之和。
例如,若要用 weights = [2,4,6] 对 data = [10, 30, 50] 做加权平均,我们计算 $\frac{2 \cdot 10 + 4 \cdot 30 + 6 \cdot 50}{2+4+6}$,也就是 sum(weights * data) / sum(weights)。
不过在本练习中,您将结合使用 func.sum() 与 select,从一张表中选取某列的加权平均。您仍将使用 census 数据,并计算 2000 年按各州人口加权的平均年龄,然后按性别对该加权平均进行分组。
本练习是课程的一部分
Python 中的数据库入门
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import select and func
____
# Select the average of age weighted by pop2000
stmt = select([func.sum(____ * ____) / ____
])