Метод rank
Метод rank применяется к Series
и возвращает ранги элементов на основе их значений.
По умолчанию элементы получают средний ранг при совпадении значений.
Метод имеет несколько параметров для настройки способа ранжирования.
Синтаксис
ser.rank(method='average', ascending=True, na_option='keep', numeric_only=False)
Основные параметры метода rank:
-
method- способ обработки совпадающих значений. Варианты: 'average', 'min', 'max', 'first', 'dense'. -
ascending- порядок ранжирования. True - по возрастанию, False - по убыванию. -
na_option- обработка пропущенных значений. Варианты: 'keep', 'top', 'bottom'.
Пример
Давайте создадим Series и применим стандартное ранжирование:
import pandas as pd
ser = pd.Series([10, 20, 15, 20, 5])
res = ser.rank()
print(res)
Результат выполнения кода:
0 2.0
1 3.5
2 3.0
3 3.5
4 1.0
dtype: float64
Пример
Теперь используем метод 'first' для обработки одинаковых значений:
import pandas as pd
ser = pd.Series([10, 20, 15, 20, 5])
res = ser.rank(method='first')
print(res)
Результат выполнения кода:
0 2.0
1 4.0
2 3.0
3 5.0
4 1.0
dtype: float64
Пример
Ранжирование в порядке убывания с помощью параметра ascending:
import pandas as pd
ser = pd.Series([10, 20, 15, 20, 5])
res = ser.rank(ascending=False)
print(res)
Результат выполнения кода:
0 4.0
1 1.5
2 3.0
3 1.5
4 5.0
dtype: float64
Пример
Обработка пропущенных значений с помощью na_option:
import pandas as pd
import numpy as np
ser = pd.Series([10, np.nan, 15, 20, 5])
res = ser.rank(na_option='top')
print(res)
Результат выполнения кода:
0 2.0
1 1.0
2 3.0
3 4.0
4 5.0
dtype: float64
Смотрите также
-
метод
sort_values,
который сортирует значения в Series -
метод
quantile,
который вычисляет квантили значений -
метод
describe,
который выводит описательную статистику -
метод
value_counts,
который считает количество уникальных значений