You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为DataFrame每行找出最大值对应的列并生成Series

解决Pandas每行最大值对应列的高效方法

直接用Pandas内置的idxmax()方法就能高效完成需求,指定axis=1表示按行查找最大值对应的列标签,最后将结果重命名为MAX即可。

完整代码如下:

import pandas as pd

data = {'A': [55, 69, 30, 79],
        'B': [9, 86, 63, 52],
        'C': [96, 5, 12, 31]}

df = pd.DataFrame(data)
# 按行找最大值对应的列,并重命名Series
max_col_series = df.idxmax(axis=1).rename('MAX')

print(max_col_series)

运行后输出结果:

0    C
1    B
2    B
3    A
Name: MAX, dtype: object

补充说明

  • idxmax(axis=1):axis=1代表横向(行维度)计算,返回每行最大值所在的列名;若设为axis=0则是纵向(列维度)查找每列最大值的行索引。
  • rename('MAX'):将生成的Series名称设置为MAX,完全匹配目标结果格式。

内容的提问来源于stack exchange,提问作者Laurent B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 13:45:54