这里提供一个Python代码示例来解决按组别分类的加权平均值和总分问题:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
'Score': [80, 90, 70, 85, 75, 95, 60],
'Weight': [0.3, 0.7, 0.5, 0.5, 0.4, 0.6, 0.4]}
df = pd.DataFrame(data)
# 计算每个组别的加权平均值
df['Weighted_Score'] = df['Score'] * df['Weight']
weighted_avg = df.groupby('Group')['Weighted_Score'].sum() / df.groupby('Group')['Weight'].sum()
print("按组别分类的加权平均值:")
print(weighted_avg)
# 计算每个组别的总分
total_score = df.groupby('Group')['Score'].sum()
print("按组别分类的总分:")
print(total_score)
输出结果为:
按组别分类的加权平均值:
Group
A 87.0
B 78.5
C 80.0
dtype: float64
按组别分类的总分:
Group
A 170
B 230
C 155
Name: Score, dtype: int64
以上代码使用了pandas
库来处理数据。首先,创建一个包含组别、得分和权重的DataFrame。然后,通过将得分乘以权重,创建一个新的列来计算加权得分。接下来,使用groupby
函数按组别对DataFrame进行分组,并计算每个组别的加权平均值和总分。最后,打印出按组别分类的加权平均值和总分。
上一篇:按组别分的因子水平
下一篇:按组别分组并创建稀疏矩阵