Python 仅包括一个id有两个标志的id(熊猫)

Python 仅包括一个id有两个标志的id(熊猫),python,pandas,Python,Pandas,我有以下名为df的数据帧,我想将数据帧子集为仅ID,其中列is_signup有1和0。下面的示例将删除id=1,因为它只有1而不是0 id tag is_signup 1 Button 1 1 Circle 1 2 Button 1 2 Circle 0 2 Diamond 1 3 Circle 0 3 Button 1 预期产出: id tag

我有以下名为df的数据帧,我想将数据帧子集为仅ID,其中列is_signup有1和0。下面的示例将删除id=1,因为它只有1而不是0

id   tag         is_signup
1    Button      1 
1    Circle      1
2    Button      1 
2    Circle      0
2    Diamond     1 
3    Circle      0
3    Button      1 
预期产出:

id   tag         is_signup
2    Button      1 
2    Circle      0
2    Diamond     1 
3    Circle      0
3    Button      1 
我该怎么做?我想一个团员会有帮助吗?但不确定如何正式执行此操作

因为列是二进制的,并且只能有2个可能的值,我们可以在此处使用nunique进行groupby+转换,然后布尔索引检查值是否为2 1和0:

df[df['is_signup'].groupby(df['id']).transform('nunique').eq(2)]
您也可以使用直接检查is_signup.nunique:

df.groupby'id'。过滤器lambda x:x.is\u signup.nunique==2 id标签已注册 2按钮1 3 2圈0 4 2钻石1 5 3圈0 6 3按钮1
只有1和0,因为它是一个旗子谢谢,只是澄清一下:-
   id      tag  is_signup
2   2   Button          1
3   2   Circle          0
4   2  Diamond          1
5   3   Circle          0
6   3   Button          1