pandas.core.groupby.DataFrameGroupBy.cumcount
- DataFrameGroupBy.cumcount(ascending=True)[source]
-
Пронумеруйте каждый элемент в каждой группе от 0 до длины этой группы - 1.
По сути, это эквивалентно
self.apply(lambda x: pd.Series(np.arange(len(x)), x.index))
- Параметры:
-
- ascending:bool, по умолчанию True
-
Если False, нумерация в обратном порядке, от длины группы - 1 до 0.
- Возвращает:
-
- Series
-
Порядковый номер каждого элемента в каждой группе.
См. также
ngroup-
Пронумеруйте сами группы.
Примеры
>>> df = pd.DataFrame([['a'], ['a'], ['a'], ['b'], ['b'], ['a']], ... columns=['A']) >>> df A 0 a 1 a 2 a 3 b 4 b 5 a >>> df.groupby('A').cumcount() 0 0 1 1 2 2 3 0 4 1 5 3 dtype: int64 >>> df.groupby('A').cumcount(ascending=False) 0 3 1 2 2 1 3 1 4 0 5 0 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.DataFrameGroupBy.cumcount.html