Python 删除前一组中存在的行

Python 删除前一组中存在的行,python,pandas,pandas-groupby,Python,Pandas,Pandas Groupby,我有一个GroupBy对象。如果前一个组中存在同一行,我想从当前组中删除行。假设这是第n-1组: A B 0 foo 0 1 baz 1 2 foo 1 3 bar 1 这是第n组 A B 0 foo 2 1 foo 1 2 baz 1 3 baz 3 删除所有副本后。第n组结果: A B 0 foo 2 3 baz 3 编辑: 如果可能的话,我想不使用循环来实现它我在这里使用带指示器的合并 因为它是按对象划分的,

我有一个GroupBy对象。如果前一个组中存在同一行,我想从当前组中删除行。假设这是第n-1组:

    A   B
0   foo 0
1   baz 1
2   foo 1
3   bar 1
这是第n组

    A   B
0   foo 2
1   foo 1
2   baz 1
3   baz 3
删除所有副本后。第n组结果:

    A   B
0   foo 2
3   baz 3
编辑:

如果可能的话,我想不使用循环来实现它

我在这里使用带指示器的合并

因为它是按对象划分的,所以您可以在这里使用for循环,使用上述代码n次

我在这里使用merge with indicator


由于它是GrouBy对象,所以您可以在此处使用for循环,使用上述代码n次

是否有无循环实现的方法?@DeveScie是的,它将需要for循环,但for循环并不总是坏的做法:-是否有无循环实现的方法?@DeveScie是的,它将需要for循环,但for循环并不总是坏的做法:-
yourdf=dfn.merge(df1,indicator=True,how='left').loc[lambda x : x['_merge']!='both']
yourdf
     A  B     _merge
0  foo  2  left_only
3  baz  3  left_only
#yourdf.drop('_merge',1,inplace=True)