python - 如何返回列标题,其中该行包含 Pandas Dataframe 中的最大值

标签 python pandas dataframe data-manipulation

<分区>

我正在开发一个具有如下 DataFrame 的 Python 项目:

data = {'AAA':  [3, 8, 2, 1],
        'BBB':  [5, 4, 7, 2],
        'CCC':  [2, 5, 6, 4]}
df = pd.DataFrame(data)

这导致:

<表类="s-表"> <头> AAA BBB CCC <正文> 0 3 5 2 1 8 4 5 2 2 7 6 3 1 2 4

任务包括生成以下 DataFrame:

<表类="s-表"> <头> AAA BBB CCC 作用 <正文> 0 3 5 2 BBB 1 8 4 5 AAA 2 2 7 6 BBB 3 1 2 4 CCC

其中“角色”列元素是其所在行中具有最高值的列标题。

你能帮我推荐一个解决这个任务的代码吗?

最佳答案

您可以在轴上使用idxmax 方法:

df['Role'] = df.idxmax(axis=1)

输出:

   AAA  BBB  CCC  Role
0    3    5    2  BBB
1    8    4    5  AAA
2    2    7    6  BBB
3    1    2    4  CCC

关于python - 如何返回列标题,其中该行包含 Pandas Dataframe 中的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71258033/

相关文章:

python - 无法安装mysqlclient

python - 定期检查 api 是否有新数据的正确方法?

python - 使用 Pandas 重新采样移位间隔

python - Pandas :根据特定列的值计数选择行

r - 在数据框中的重复数据之间进行选择

python - 如何制作一个包含元素的列表,以仅包含一个元素的列表列出?

python - 用 python 查看 A 和上一个 B

python - Pandas 数据框到字典的字典

python - Pandas groupby mean() 不忽略 NaN

r - 使用 as.data.frame.matrix 时保留行名称