如何在 pandas 中使用 idxmax() 函数(附示例)


您可以使用pandas.DataFrame.idxmax()函数返回 pandas DataFrame 中指定轴上最大值的索引。

该函数使用以下语法:

DataFrame.idxmax(轴=0,skipna=True)

金子:

  • axis :要使用的轴(0 = 行,1 = 列)。默认值为 0。
  • Skina :是否排除 NA 或空值。默认值为 True。

以下示例展示了如何在实践中通过以下 pandas DataFrame 使用此函数:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'points': [25, 12, 15, 8, 9, 23],
                   'assists': [5, 7, 7, 9, 12, 9],
                   'rebounds': [11, 8, 11, 6, 6, 5]},
                   index=['Andy','Bob', 'Chad', 'Dan', 'Eric', 'Frank'])

#view DataFrame
df

        points assists rebounds
Andy 25 5 11
Bob 12 7 8
Chad 15 7 11
Dan 8 9 6
Eric 9 12 6
Frank 23 9 5

示例 1:查找每列具有最大值的索引

以下代码显示如何查找每列具有最大值的索引:

 #find index that has max value for each column
df. idxmax (axis= 0 )

Andy points
assists Eric
rebounds Andy
dtype:object

从结果我们可以看出:

  • 得分栏中得分最高的玩家是安迪。
  • 助攻数值最高的球员是埃里克。
  • 篮板数最高的球员是安迪。

需要注意的是,idxmax() 函数将返回第一次出现的最大值。

例如,请注意安迪和查德都有 11 个篮板。由于 Andy 首先出现在 DataFrame 中,因此返回他的名字。

示例 2:查找每行具有最大值的列

以下代码显示如何查找包含每行最大值的列:

 #find column that has max value for each row
df. idxmax (axis= 1 )

Andy points
Bob stitches
Chad points
Dan assists
Eric assists
Frank points
dtype:object

从结果我们可以看出:

  • 标记为“Andy”的行中的最高值位于点数列中。
  • 标记为“Bob”的行中的最高值位于点数列中。
  • 标记为“Chad”的行中的最高值位于点数列中。
  • 标记为“Dan”的行中的最高值位于助攻列中。
  • 标有“Eric”的行中的最高值位于助攻列中。
  • 标记为“Andy”的行中的最高值位于点数列中。

有关 idxmax() 函数的完整说明,请参阅pandas 文档

其他资源

如何找到 Pandas 中列的最大值
如何计算 Pandas 中列的平均值
如何计算 Pandas 中的列总和

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注