Python 仅包括一个id有两个标志的id(熊猫)
我有以下名为df的数据帧,我想将数据帧子集为仅ID,其中列is_signup有1和0。下面的示例将删除id=1,因为它只有1而不是0Python 仅包括一个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
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