且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Pandas - 按所有列分组并在原始数据框中进行标记

更新时间:2023-11-22 10:21:40

使用 GroupBy.ngroup:

df['grp'] = df.groupby(['A', 'B', 'C']).ngroup() + 1
print (df)

   A  B  C  grp
0  1  3  5    1
1  1  4  5    2
2  1  4  5    2
3  2  4  5    3

如果列已排序:

df['grp'] = pd.factorize([tuple(x) for x in df.values])[0] + 1