Удалить строки, если они существуют в предыдущей группе - PullRequest
1 голос
/ 28 марта 2019

У меня есть объект 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

EDIT:

Я хотел бы достичь этого без цикла, если это возможно

1 Ответ

3 голосов
/ 28 марта 2019

Я использую merge с indicator здесь

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)

Поскольку это GrouBy Object, вы можете использовать цикл for, используя приведенный выше код для n раз

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...