假设我们有以下数据集:
姓名 | 成绩 |
---|---|
小明 | 80 |
小红 | 90 |
小明 | 90 |
小刚 | 70 |
我们想要按照姓名分组,获取每个人成绩的百分比。可以使用以下代码实现:
import pandas as pd
# 创建数据集
df = pd.DataFrame({'姓名': ['小明', '小红', '小明', '小刚'], '成绩': [80, 90, 90, 70]})
# 按姓名分组,并计算每组的总成绩
df_grouped = df.groupby('姓名')['成绩'].sum().reset_index(name='总成绩')
# 计算每个人的百分比
df_grouped['百分比'] = df_grouped['总成绩'] / df['成绩'].sum() * 100
print(df_grouped)
输出:
姓名 总成绩 百分比
0 小刚 70 19.444444
1 小明 170 47.222222
2 小红 90 25.000000
我们首先使用groupby
函数按照姓名分组,并计算每组的总成绩。然后,我们计算每个人成绩的百分比,并将结果保存在一个新的列中。最后,我们打印出结果。