pandas.core.groupby.DataFrameGroupBy.ngroup#

DataFrameGroupBy.ngroup(ascending=True)[источник]#

Нумерует каждую группу от 0 до количества групп - 1.

Это перечислительное дополнение к cumcount. Обратите внимание, что номера, присвоенные группам, соответствуют порядку, в котором группы будут видны при итерации по объекту groupby, а не порядку, в котором они были впервые обнаружены.

Группы с отсутствующими ключами (где pd.isna() равно True) будет помечен как NaN и будет пропущен при подсчете.

Параметры:
ascendingbool, по умолчанию True

Если False, нумеровать в обратном порядке, от количества групп - 1 до 0.

Возвращает:
Series

Уникальные номера для каждой группы.

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

cumcount

Нумерация строк в каждой группе.

Примеры

>>> df = pd.DataFrame({"color": ["red", None, "red", "blue", "blue", "red"]})
>>> df
   color
0    red
1   None
2    red
3   blue
4   blue
5    red
>>> df.groupby("color").ngroup()
0    1.0
1    NaN
2    1.0
3    0.0
4    0.0
5    1.0
dtype: float64
>>> df.groupby("color", dropna=False).ngroup()
0    1
1    2
2    1
3    0
4    0
5    1
dtype: int64
>>> df.groupby("color", dropna=False).ngroup(ascending=False)
0    1
1    0
2    1
3    2
4    2
5    1
dtype: int64