Возвращать строки с другими значениями из другого кадра данных в столбцах python - PullRequest
1 голос
/ 26 февраля 2020

Я пытаюсь вернуть разницу между двумя фреймами данных, но только в некоторых столбцах.

df 1

df 2

Я написал ниже, чтобы отфильтровать разницу

df = df.merge (сохранено, индикатор = True, how = 'left'). Loc [lambda x: x ['_ merge']! = 'Both' ]

и он вернул

вернул

Но я хочу вернуть строки, отличающиеся только в colA и colB, вместо того, чтобы фильтровать только идентичные строки , поэтому я могу получить ниже dataframe;

что я хочу

Пожалуйста, помогите, большое спасибо!

1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете указать параметр on в DataFrame.merge для объединенных столбцов:

df = (df.merge(saved, indicator=True, how='left', on=['colA','colB'])
        .loc[lambda x : x['_merge']!='both'])
print (df)
  colA  colB colC_x colC_y     _merge
2    C     3      Y    NaN  left_only
3    D     4      X    NaN  left_only
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...