首页 >后端开发 >Python教程 >如何查找 DataFrame 中每行的最大值的列名?

如何查找 DataFrame 中每行的最大值的列名?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-14 16:28:02181浏览

How to Find the Column Name with the Maximum Value for Each Row in a DataFrame?

查找每行具有最大值的列名称

许多数据集都有代表不同实体的行,每个数据集都有代表有关实体的数据的多个列。有时,有必要识别包含每行最大值的特定列。此任务可以使用 idxmax() 函数来实现。

在给定的示例中,我们有一个包含四列的 DataFrame:“通信和搜索”、“业务”、“常规”和“生活方式”。我们想要创建一个新列“Max”,其中包含与每行最大值对应的列名。

为此,我们可以使用 idxmax(axis=1) 来查找列索引具有最大值:

df.idxmax(axis=1)

# Output:
0    Communications
1          Business
2    Communications
3    Communications
4          Business
dtype: object

这给了我们列标签,但我们可以将它们转换为相应的列名称:

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

生成的 DataFrame 将如下所示:

communications and search business general lifestyle max
0.745763 0.050847 0.118644 0.084746 Communications
0.333333 0.000000 0.583333 0.083333 Business
0.617021 0.042553 0.297872 0.042553 Communications
0.435897 0.000000 0.410256 0.153846 Communications
0.358974 0.076923 0.410256 0.153846 Business

请注意,idxmax() 也可用于查找 row 索引,其中最大值出现在每列中,使用 df.idxmax() (或 df.idxmax(axis=0))。

以上是如何查找 DataFrame 中每行的最大值的列名?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn