如何在Pandas中计算加权平均数

  • Post category:Python

在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 中计算加权平均数的完整攻略。