我正在尝试按OR条件将2列分组以创建组类别计数,如果在groupid1或groupid2中重复一个数字,它将创建第3个唯一的分组编号。
输入df
ID GROUPID1 GROUPID2
F632 173 1315
F632 173 1315
F966 173 1519
F966 134 1519
F173 704 1437
F455 704 1201
F456 702 1202
F457 800 1500
F966 173 1519
F966 134 1519
所需结果-173/134或1315/1519创建groupid3'1'; 704 = 2,而702和800是唯一的。
ID GROUP1 GROUP2 GROUP3
F632 173 1315 1
F632 173 1315 1
F966 173 1519 1
F966 134 1519 1
F173 704 1437 2
F455 704 1201 2
F456 702 1202 3
F457 800 1500 4
F966 173 1519 1
F966 134 1519 1
答案 0 :(得分:2)
让我们用或
尝试duplicated
s=(~(df.GROUPID1.duplicated()|df.GROUPID2.duplicated())).cumsum()
0 1
1 1
2 1
3 1
4 2
5 2
6 3
7 4
dtype: int64
df['GROUP3']=s