Я новичок в использовании панд в Python, тогда как у меня есть хорошие знания по работе с Python.
У меня есть два фрейма данных, из которых я должен получить совпадающие и несоответствующие записи в новые данныекадров.
Пример:
DF1:
ID Name Number DOB Salary
1 AAA 1234 12-05-1996 100000
2 BBB 1235 16-08-1997 200000
3 CCC 1236 24-04-1998 389999
4 DDD 1237 05-09-2000 450000
DF2:
ID Name Number DOB Salary
1 AAA 1234 12-05-1996 100000
2 BBB 1235 16-08-1997 200000
3 CCC 1236 24-04-1998 389999
4 DDD 1237 05-09-2000 540000
И с первичными ключами, которые являются здесь ID и именем (вна самом деле количество ключей может варьироваться), мне нужно получить
Match_df:
ID Name Number DOB Salary
1 AAA 1234 12-05-1996 100000
2 BBB 1235 16-08-1997 200000
3 CCC 1236 24-04-1998 389999
Mismatch_df:
ID Name Number DOB Salary
4 DDD 1237 05-09-2000 540000
Я перепробовал все возможные способы, такие как
pd.merge(df1, df2, left_on=[ID,Name],right_on=[ID,Name], how='inner')
, и это создает все уникальные ключи в обоих фреймах данныхНо это также приводит к несовпадающим записям.
Но я получаю это как результат:
ID Name Number DOB Salary
1 AAA 1234 12-05-1996 100000
2 BBB 1235 16-08-1997 200000
3 CCC 1236 24-04-1998 389999
4 DDD 1237 05-09-2000 540000
, где также включается 4-я запись.
Здесь меняется только col col зарплаты, но в реальном времени, это может быть список столбцов для сравнения.
Из этого я должен получить только совпадающие записи в matched_df и несоответствующие записи в mismatch_df.
Пожалуйста, помогите мне в этом.
Примечание: мой набор данных может быть массивным (100 миллионов записей в обоих наборах данных), поэтому, пожалуйста, дайте мне эффективный подход к сокращениювремя исполнения.
Заранее спасибо.