获取具有多个值的ID

时间:2018-07-20 08:58:42

标签: python pandas

我的数据就像

id   name     status
1    test     True
2    prod     True
3    Db       False
1    test     False
4    Staging  True
3    Db       False
2    prod     True

我想根据ID对数据进行分组,并获取状态为True和False的数据ID。以上数据应返回为:

id    name    Status
1     Test    True

1 个答案:

答案 0 :(得分:1)

如果我对您的理解正确,则可以使用此方法:

df = df.groupby('d').filter(lambda x: any(x['status'] == True))
df = df.groupby('d').filter(lambda x: any(x['status'] == False))

输出:

   d  name status
0  1  test   True
3  1  test  False

并且在应用drop_duplicates之后:

df = df.drop_duplicates(subset=['d'])
相关问题