pandas.core.groupby.DataFrameGroupBy.ngroup #

DataFrameGroupBy。ngroup (升序= True ) [来源] #

对每个组进行从 0 到组数 - 1 的编号。

这是 cumcount 的枚举补码。请注意,为组提供的数字与迭代 groupby 对象时看到的顺序相匹配,而不是首次观察到的顺序。

缺少键的组(其中pd.isna()为 True)将被标记为NaN 并将从计数中跳过。

参数
升序布尔值,默认 True

如果为 False,则反向编号,从组编号 - 1 到 0。

返回
系列

每组的唯一编号。

也可以看看

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