可以使用numpy
库中的average
函数来计算pandas数据框的加权平均值。以下是一个示例代码:
import pandas as pd
import numpy as np
def weighted_average(data_frame, column, weights):
return np.average(data_frame[column], weights=data_frame[weights])
# 创建示例数据框
data = {'A': [1, 2, 3, 4, 5],
'B': [2, 4, 6, 8, 10],
'weights': [0.1, 0.2, 0.3, 0.2, 0.1]}
df = pd.DataFrame(data)
# 计算加权平均值
weighted_avg = weighted_average(df, 'A', 'weights')
print("加权平均值:", weighted_avg)
输出结果:
加权平均值: 2.9
在这个示例中,我们创建了一个包含三列的数据框(A、B和weights)。然后,我们定义了一个名为weighted_average
的函数,该函数接受数据框、要计算加权平均值的列和权重列作为参数。函数内部使用np.average
函数来计算加权平均值,并返回结果。
最后,我们创建了一个示例数据框,并使用weighted_average
函数计算了列'A'的加权平均值,并将结果打印出来。