python-3.x - 如何从查询中获取列名?
问题描述
我有以下数据框:
City Obesity Asthma Diabetes
London 403221 412331 445121
Paris 104221 211227 201771
Berlin 322128 365119 309233
... ... ... ...
我想得到最常见的城市名称和死亡名称。我可以使用它得到最大值df.groupby("City")[["Obesity", "Asthma", "Diabetes"]].sum().max(axis=1)
,如下所示:
City
London 445121
Paris 211227
Berlin 365119
...
我想要的看起来像这样:
City
London Diabetes
Paris Asthma
Berlin Asthma
解决方案
利用idxmax
df.groupby("City")[["Obesity", "Asthma", "Diabetes"]].sum().idxmax(axis=1)
如果城市名称是唯一的,则使用
df.set_index('City').idxmax(axis=1)
推荐阅读
- python - 使用 pyinstaller 时,图像未显示在 tkinter 顶层
- dart - Dart smartcast 不能使用两个泛型
- php - SQLSTATE[HY000]:一般错误:1 ON CONFLICT 子句与测试环境中的任何 PRIMARY KEY 或 UNIQUE 约束不匹配错误
- java - org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“employeeController”的bean时出错
- javascript - 背景颜色未应用于按钮
- m2doc - 使用 M2DOC 导出高质量图像
- angular - 将多个模块路由到同一路径
- mysql - Sequelize 检查表为空
- include - 如何在我的 gitlab-ci.yml 中包含 script.py?
- python - 用另一个数据框过滤一个数据框