
解决 groupby() 问题,轻松处理数据分组
在本篇问答中,我们将探索一个常见的 pandas 问题,即如何使用 groupby() 函数对数据框进行分组,并输出分组后数据的均值。
问题:
我们有一个数据框 df,其中包含了以下数据:
| major | grade | age |
|---|---|---|
| math | 3 | 20 |
| physics | 2 | 18 |
| math | 2 | 19 |
| math | 1 | 21 |
| physics | 1 | 20 |
| math | 3 | 19 |
| math | 3 | 19 |
| physics | 2 | 18 |
| demograghy | 2 | 20 |
如何使用 groupby() 函数对 major 列分组,并计算 grade 列的均值,从而输出以下结果:
| grade | 1 | 2 | 3 |
|---|---|---|---|
| major | |||
| demography | 2 | ||
| math | 1 | 2 | 3 |
| physics | 1 | 2 |
答案:
可以使用以下代码实现上述功能:
df.groupby(['Major']).mean()["Grade"]
解释:
- df.groupby(['major']): 按照 major 列对数据框进行分组。
- .mean(): 针对每个分组,计算 grade 列的均值。










