如何识别只有1个真实条件的唯一ID?

时间:2019-02-25 14:25:25

标签: python pandas numpy

简单的问题:如何识别只有1个真实条件的唯一ID?

Index ID value condition
0     1   1     False
1     1   3     True
2     1   2     False
3     1   1     False
4     2   3     True
5     2   4     True
6     2   5     True

在上述情况下,只会标识ID 1(1为真),而不会标识ID 2(3为是)。

我该如何编辑以下代码?我需要将原始索引和ID保留在分段的数据框中。

df[df['condition']==True]['ID'].unique()

预期输出:

Index ID value condition
1     1   3     True

祝一切顺利,

谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

使用filter

df.groupby('ID').filter(lambda x : sum(x['condition'])==1)
Out[685]: 
   Index  ID  value  condition
0      0   1      1      False
1      1   1      3       True
2      2   1      2      False
3      3   1      1      False