pandas.core.groupby.DataFrameGroupBy.ngroup#
- DataFrameGroupBy.ngroup(ascending=True)[源代码]#
为每个组从 0 编号到组数 - 1。
这是 cumcount 的枚举补码。请注意,分配给组的编号与在遍历 groupby 对象时看到的组的顺序匹配,而不是它们首次出现的顺序。
具有缺失键(其中 pd.isna() 为 True)的组将被标记为 NaN,并将从计数中跳过。
- Parameters:
- ascendingbool, default True
如果为 False,则反向编号,从组数 - 1 到 0。
- Returns:
- Series
每个组的唯一编号。
参见
cumcount为每个组内的行编号。
Examples
>>> 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