pandas.core.groupby.SeriesGroupBy.ngroup # 系列分组依据。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