python - 有没有办法为每个组下的每个类别制作列?
问题描述
有两列都是分类的。我想按第一列分组,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 |
谢谢你。
解决方案
您想按前两列分组,然后使用“COUNT”函数在数据框中进行聚合。尝试这个:
df.groupby(['Age', 'Engagement_category']).agg(['count'])
推荐阅读
- python - 如何让我的对象在 Pygame 中移动时不留下痕迹?
- go - MapR 5.2.2 客户端
- keras - 隐藏层中的大量神经元产生更好的结果,为什么?
- .net-core - 创建一个包含 3 个表中的列的视图
- typescript - 如何在 eslint 中使用 atom-typescript 或替代方法
- charts - ApexCharts:隐藏图表中的每第 n 个标签
- android - 如何修复“未安装应用程序” - Xamarin 应用程序分发
- sql - 统计多张表的普通用户数
- javascript - 如何删除多个数组项
- linux - 如何删除与字符串中的项目相似的文件