Как использовать функцию idxmax() в pandas (с примерами)
Вы можете использовать функцию pandas.DataFrame.idxmax() для возврата индекса максимального значения на указанной оси в DataFrame pandas.
Эта функция использует следующий синтаксис:
DataFrame.idxmax(axis=0,skipna=True)
Золото:
- ось : используемая ось (0 = строки, 1 = столбцы). Значение по умолчанию — 0.
- Skipna : Исключать или нет значения NA или null. По умолчанию установлено значение «Истина».
В следующих примерах показано, как использовать эту функцию на практике со следующим DataFrame pandas:
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 подборов. Поскольку Энди появляется первым в 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
По результату мы видим:
- Наибольшее значение в строке с надписью «Энди» находится в столбце очков .
- Наибольшее значение в строке с надписью «Боб» находится в столбце баллов .
- Наибольшее значение в строке с надписью «Чад» находится в столбце «Баллы» .
- Наибольшее значение в строке с надписью «Дэн» находится в столбце передач .
- Наибольшее значение в строке с надписью «Эрик» находится в столбце передач .
- Наибольшее значение в строке с надписью «Энди» находится в столбце очков .
Обратитесь к документации pandas для получения полного объяснения функции idxmax().
Дополнительные ресурсы
Как найти максимальное значение столбцов в Pandas
Как рассчитать среднее значение столбцов в Pandas
Как посчитать сумму столбцов в Pandas