简单的问题:如何识别只有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
祝一切顺利,
谢谢您的时间。
答案 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