在Pandas中,可以使用 .multiply()
方法来实现加权平均数的计算。
首先,我们需要将数据集的每个值和对应的权重相乘,然后将这些乘积相加,再将结果除以权重的总和。
我们可以使用如下的公式计算加权平均数:
$$weighted\; average = \frac{\sum_{i=1}^n w_i \times x_i}{\sum_{i=1}^n w_i}$$
其中,$x_i$ 表示第 $i$ 个数据点的值,$w_i$ 表示第 $i$ 个数据点的权重。
下面我们来看一个实例:
import pandas as pd
# 构造数据集
data = {'val': [10, 20, 30, 40, 50],
'weight': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 计算加权平均数
weighted_avg = (df['val'].multiply(df['weight'])).sum() / df['weight'].sum()
print('加权平均数为:', weighted_avg)
这段代码生成了一个包含 5 个数据点的 DataFrame,并计算了它们的加权平均数。在这个数据集中,每个数据点的权重分别为 1、2、3、4 和 5,对应的值分别为 10、20、30、40 和 50。根据上述公式计算加权平均数,得到结果为 36。
这就是如何在 Pandas 中计算加权平均数的完整攻略。