Вы можете использовать функцию 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