首页 > 解决方案 > 有没有办法为每个组下的每个类别制作列?

问题描述

有两列都是分类的。我想按第一列分组,age_group而我的另一列Engagement_category应该按每个元素创建新列。

我在第一列做了 groupby age_group

| age_group    | Engagement_category |
|--------------|---------------------|
| 21-26        | Not Engaged         |
| 27-32        | Disengaged          |
| 33-38        | Engaged             |
| 39-44        | Disengaged          |
| 45-50        | Not Engaged         |
| 50 and Above | Engaged             |
group = df.groupby('age_group')

以下是必需的输出:

| age_group | Engaged | Nearly Engaged | Not Engaged | Disengaged |
|-----------|---------|----------------|-------------|------------|
| 21-26     | 3       | 4              | 1           | 1          |
| 27-32     | 4       | 0              | 4           | 0          |
| 33-38     | 2       | 0              | 1           | 1          |

谢谢你。

标签: pythonpython-3.xpandaspandas-groupby

解决方案


您想按前两列分组,然后使用“COUNT”函数在数据框中进行聚合。尝试这个:

df.groupby(['Age', 'Engagement_category']).agg(['count'])

推荐阅读