Как использовать функцию idxmax() в Pandas (с примерами)


Вы можете использовать функцию pandas.DataFrame.idxmax() , чтобы вернуть индекс максимального значения по указанной оси в кадре данных pandas.

Эта функция использует следующий синтаксис:

DataFrame.idxmax (ось = 0, скипна = Истина)

куда:

  • axis : Используемая ось (0 = строки, 1 = столбцы). По умолчанию 0.
  • skipna : следует ли исключать значения NA или null. Значение по умолчанию — Истина.

В следующих примерах показано, как использовать эту функцию на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
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 )

points Andy
assists Eric
rebounds Andy
dtype: object

Из вывода мы видим:

  • Игрок с наибольшим значением в столбце очков — Энди.
  • Игрок с самым высоким значением в колонке передач — Эрик.
  • Игрок с наибольшим значением в столбце подборов — Энди.

Важно отметить, что функция idxmax() вернет первое вхождение максимального значения.

Например, обратите внимание, что у Энди и Чеда было по 11 подборов. Поскольку Энди появляется первым в DataFrame, возвращается его имя.

Пример 2: найти столбец с максимальным значением для каждой строки

В следующем коде показано, как найти столбец с максимальным значением для каждой строки:

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

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

Из вывода мы видим:

  • Наибольшее значение в строке с надписью «Энди» можно найти в столбце очков .
  • Наибольшее значение в строке с надписью «Боб» можно найти в столбце очков .
  • Наибольшее значение в строке с надписью «Чад» можно найти в столбце очков .
  • Самое высокое значение в строке с надписью «Дэн» можно найти в столбце передач .
  • Наибольшее значение в строке с надписью «Эрик» можно найти в столбце передач .
  • Наибольшее значение в строке с надписью «Энди» можно найти в столбце очков .

Обратитесь к документации pandas за полным объяснением функции idxmax().

Дополнительные ресурсы

Как найти максимальное значение столбцов в Pandas
Как рассчитать среднее значение столбцов в Pandas
Как рассчитать сумму столбцов в Pandas