Посмотрите на общие элементы для df1 с df2 на основе двух столбцов и удалите общие элементы для df1 и df2 из df1 - PullRequest
0 голосов
/ 16 октября 2019

У меня есть df1 со строкой1 строка2 строка3 строка4 строка5 столбец A столбец B столбец X

У меня есть df2 с строка3 row4 строка5 row6 строка 7 столбец A столбец B столбец Z

У меня есть соответствующий столбец Aи столбец B в df1, а также в df2

ЦЕЛЬ: Я хочу использовать столбец A и столбец B из df1 и df2 для сопоставления row3 row4 и row5 FROM как с df1, так и с df2 и создать новый df с row1 иrow2 ТОЛЬКО.

Грубый способ, который я думал использовать:

  • pd.merge, основанный на столбце A и столбце B, который даст мне общие строки row3 row4 row5 из df1 и row3 row4 row5 изdf2 в новом df3
  • , затем переиндексируем столбцы df3 для соответствия столбцам df1
  • и объединяем df1 с df3 в df4

  • , что приведет кв строке 1 строка 2 строка 3 строка 4 строка 5 из df1 и строка 3 строка 4 строка 5 из df3 в df4

  • затем отбросьте все дубликаты из df4, что даст мне строки 1 и строки 2 из результата df1, который мне нужен

Похоже, слишком много работы, и должен быть более простой способ.

Другие варианты, которые я нашел, это .isin или not .isin, pd.index, хотя и не сплошные,но ничего прямолинейного и простого.

Мысли?

...