pandas groupby筛选后如何计算百分比
时间: 2023-12-06 13:04:36 浏览: 128
可以使用`groupby`后的`transform`方法来计算百分比。假设有如下数据:
```
import pandas as pd
df = pd.DataFrame({'group': ['A', 'A', 'B', 'B', 'B', 'C'], 'value': [1, 2, 3, 4, 5, 6]})
```
我们要对`group`进行分组,并计算每个组内`value`占该组总和的百分比,可以按如下方法实现:
```
group_sum = df.groupby('group')['value'].transform(sum) # 计算每个组的总和
df['percentage'] = df['value'] / group_sum * 100 # 计算每个值占总和的百分比
```
最终得到的结果如下:
```
group value percentage
0 A 1 33.333333
1 A 2 66.666667
2 B 3 25.000000
3 B 4 33.333333
4 B 5 41.666667
5 C 6 100.000000
```
阅读全文