我有一个Pandas数据框,如下所示:
df = DataFrame({'id' : [0,1,1,2,2], 'married' : [True,True,False,False,False]})
id married
0 0 True
1 1 True
2 1 False
3 2 False
4 2 False
我想按列对这个数据帧进行分组id
,但也要删除整个重复项(如果in的值married
不相同)的相同值,id
而不仅仅是使用drop_duplicates
方法获得的第一行。
df.drop_duplicates(subset=["id"])
id married
0 0 True
1 1 True
3 2 False
相反,我想把它作为我的结果
id married
0 0 True
3 2 False
您可以.groupby
在上使用,id
然后.filter
再使用.drop_duplicates
:
>>> pred = lambda obj: obj['married'].nunique() == 1
>>> df.groupby('id').filter(pred).drop_duplicates('id')
id married
0 0 True
3 2 False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句