熊猫分组多个分组

时间:2020-05-19 00:43:21

标签: python python-3.x pandas dataframe

我正在尝试按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

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