Spec-Zone.ru › pandas 2

pandas.core.groupby.SeriesGroupBy.ngroup

SeriesGroupBy.ngroup(ascending=True)[source]

Присваивает каждой группе уникальное число от 0 до числа групп - 1.

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

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

Параметры:
ascending:bool, по умолчанию 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

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.core.groupby.SeriesGroupBy.ngroup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API