以下是一个示例代码,演示了如何按子组汇总百分比:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按子组计算总和
group_sum = df.groupby('Group').sum()
# 计算每个子组中值的百分比
df['Percentage'] = df.groupby('Group')['Value'].apply(lambda x: (x / x.sum()) * 100)
print(df)
输出结果如下:
Group Value Percentage
0 A 1 16.666667
1 A 2 33.333333
2 A 3 50.000000
3 B 4 26.666667
4 B 5 33.333333
5 B 6 40.000000
在这个示例中,我们首先使用groupby
方法按照Group
列对数据进行分组,并使用sum
方法计算每个子组的总和。然后,我们使用apply
方法在每个子组上计算值的百分比。最后,我们将计算结果存储在Percentage
列中。
上一篇:按子组和随时间变化计数变量
下一篇:按子组计算在某个区间内的列值数量