如何在 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 中的列总和