python - 如何在特定列中找到最大值并在我的数据框的另一列中返回相应的值?
问题描述
我有一个类似这样的数据框:
Keyword A B C D ... X Y Z
First 1 2 3 4 ... 8 5 3
Second 2 6 2 9 ... 6 1 2
Third 3 3 2 3 ... 5 3 4
我还有一个列表letters
,其中只有从 A 到 Z 的列名。
我想在每一列中获取最大值的关键字。
如果我只想为一列获取它,则可以使用以下方法:
max = df['A'].max()
df.loc[df['A'] == max, 'Keyword']
A Third
我将如何为所有列获取它?
所以那将是:
A Third
B Second
C First
D Second
...
X First
Y First
Z Third
解决方案
第一set_index
然后idxmax
df.set_index('Keyword').idxmax()
A Third
B Second
C First
D Second
X First
Y First
Z Third
dtype: object
推荐阅读
- excel - 如何为单元格分配变量值以避免 VBA 运行时错误 5?
- vue.js - 如何更改/覆盖 vuetify 中开关标签的默认颜色?
- input - 使用拖放功能填充输入框值
- java - MD5 整个节点连同校验和
- python - Django:request.POST 中的值正确但无法保存表单
- java - 使用流按偶数日期过滤日期
- asp.net-mvc - 无法获取页面的属性
- html - 如何在我的项目中正确安装 ngx-recaptcha?
- ios - 使用 Newtonsoft.Json,在 iOS 上不反序列化文化不变量?
- javascript - 是否可以通过 javascript 通过读取 json 文件而不是使用参数来更新安全组?