РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
380 of 687 menu

Метод idxmax

Метод idxmax применяется к объекту GroupBy и возвращает индекс строки с максимальным значением для каждой группы. Метод полезен, когда нужно найти не само максимальное значение, а позицию, в которой оно находится. По умолчанию метод работает с числовыми столбцами, но может быть применён и к другим типам данных, если это имеет смысл.

Синтаксис

groupby_object.idxmax([axis, skipna, numeric_only])

Пример

Давайте создадим таблицу с данными о продажах по городам и найдём индекс строки с максимальной продажей в каждом городе:

import pandas as pd df = pd.DataFrame({ 'city': ['a', 'a', 'b', 'b', 'c', 'c'], 'sales': [100, 200, 150, 300, 250, 180] }) grouped = df.groupby('city') res = grouped['sales'].idxmax() print(res)

Результат выполнения кода:

city a 1 b 3 c 4 dtype: int64

Пример

Давайте посмотрим, как метод работает с несколькими столбцами одновременно:

import pandas as pd df = pd.DataFrame({ 'group': ['a', 'a', 'b', 'b', 'c', 'c'], 'x': [10, 20, 30, 40, 50, 60], 'y': [5, 15, 25, 35, 45, 55] }) grouped = df.groupby('group') res = grouped.idxmax() print(res)

Результат выполнения кода:

x y group a 1 1 b 3 3 c 5 5

Пример

Рассмотрим работу с пропущенными значениями и параметром skipna:

import pandas as pd import numpy as np df = pd.DataFrame({ 'group': ['a', 'a', 'b', 'b', 'c', 'c'], 'value': [10, np.nan, 30, 40, np.nan, 60] }) grouped = df.groupby('group') res = grouped['value'].idxmax(skipna=True) print(res)

Результат выполнения кода:

group a 0 b 3 c 5 dtype: int64

Пример

Метод idxmax также можно использовать для поиска индекса максимального значения после применения агрегирующих функций:

import pandas as pd df = pd.DataFrame({ 'category': ['a', 'a', 'b', 'b', 'c', 'c'], 'value1': [1, 2, 3, 4, 5, 6], 'value2': [10, 20, 30, 40, 50, 60] }) grouped = df.groupby('category').sum() res = grouped.idxmax() print(res)

Результат выполнения кода:

value1 c value2 c dtype: object

Смотрите также

  • метод idxmin,
    который возвращает индекс строки с минимальным значением
  • метод max,
    который возвращает максимальное значение в группе
  • метод min,
    который возвращает минимальное значение в группе
  • метод agg,
    который позволяет применять произвольные функции к группам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить