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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *