Метод idxmax
Метод idxmax применяется к Series
и возвращает индекс первого вхождения максимального
значения. Если максимальных значений несколько,
возвращается индекс первого из них. Метод также
поддерживает работу с пропущенными значениями NaN.
Синтаксис
ser.idxmax([skipna])
Пример
Давайте найдём индекс максимального значения в серии:
import pandas as pd
ser = pd.Series([1, 3, 2, 5, 4])
res = ser.idxmax()
print(res)
Результат выполнения кода:
3
Пример
Если максимальных значений несколько, возвращается индекс первого из них:
import pandas as pd
ser = pd.Series([5, 2, 5, 1, 5])
res = ser.idxmax()
print(res)
Результат выполнения кода:
0
Пример
Метод работает и с нечисловыми типами данных. Найдём индекс максимальной строки по алфавиту:
import pandas as pd
ser = pd.Series(['abcde', 'article', 'user', 'data.csv'])
res = ser.idxmax()
print(res)
Результат выполнения кода:
2
Пример
По умолчанию пропущенные значения NaN игнорируются.
Если все значения пропущены, возвращается NaN:
import pandas as pd
import numpy as np
ser = pd.Series([np.nan, np.nan, np.nan])
res = ser.idxmax()
print(res)
Результат выполнения кода:
nan
Пример
Если передать параметр skipna со значением False,
то метод не будет игнорировать пропущенные значения
и вернёт индекс первого пропущенного значения:
import pandas as pd
import numpy as np
ser = pd.Series([1, np.nan, 3, 2])
res = ser.idxmax(skipna=False)
print(res)
Результат выполнения кода:
1