python - 使用 groupby pandas 按列排序
问题描述
有一列“CD”有城市名称,一列“FAC18”是每行代表的人数。我有一列“S3P1”,它是学术级别,是 int 类型。当我将它按“CD”分组时,hab_ciudad = cuestio.groupby('CD')["FAC18"].sum()
我得到:
我总结了“FAC18”。现在,我还想按学术水平(“S3P1”)分组。我希望它看起来像这样:
其中列是“S3P1”的值,总和是通过“FAC18”得出的。我试过这段代码:test = cuestio.groupby(['CD','S3P1'])["FAC18"].sum()
但我明白了:
获得我想要的表格的语法是什么?
解决方案
在你的 groupby 之后,你需要使用 pivot:
test = cuestio.groupby(['CD','S3P1'])["FAC18"].sum()
test = test.pivot(index='CD', columns='S3P1', values='FAC18')
推荐阅读
- scala - 减去两个选项[双]
- c++ - 引用返回空白值
- vba - 从word VBA中的某些部分获取表值
- java - 这个 Invoice Soap XmlValidation java 代码如何在 C# 中?
- excel - 如何从 Excel 导出数据模型
- php - 重新单击第二个按钮中的第一个按钮(更新后无需返回第一个按钮只需使用第二个按钮即可)
- python - 将多索引 df 的行转置为列
- c++ - 在 O(n) 中搜索 std::map 以获取部分键
- django - 如何在 Github 上创建可共享的 Django 存储库
- r - 在 R 中生成具有相同数量节点和关系的多个随机图?