Сравнение столбцов из двух фреймов данных - PullRequest
0 голосов
/ 06 сентября 2018

Я относительно новичок в Python. Если у меня есть два следующих типа фреймов данных, скажем, df1 и df2 соответственно.

Id Name Job                Name Salary Location
1  Jim  Tester             Jim  100    Japan
2  Bob  Developer          Bob  200    US
3  Sam  Support            Si   300    UK
                           Sue  400    France

Я хочу сравнить столбец «Имя» в df2 с df1 так, чтобы, если имя человека (в df2) не существовало в df1, эта строка в df2 была бы передана другому фрейму данных. Так, например, для приведенного выше вывода будет:

       Name Salary Location
       Si   300    UK
       Sue  400    France  

Si и Sue считаются, потому что они не существуют в столбце «Имя» в df1.

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете использовать логическое индексирование:

res = df2[~df2['Name'].isin(df1['Name'].unique())]

Мы используем хеширование через pd.Series.unique в качестве оптимизации, если у вас есть повторяющиеся имена в df1.

...