比较两个数据帧以显示另一个数据帧中的列差异

时间:2021-01-08 14:18:35

标签: python-3.x dataframe

<块引用>
df1:
POLICY_NUMBER AGMT_ID ADDED_PLCY_OTHR_IND
91631540  pc:35501022 TRUE
31100935  pc:35501033 TRUE
31100933  pc:35501038 TRUE
31100933  pc:35555555 TRUE
31100999  pc:35501000 TRUE
10019351  pc:35601055 FALSE
10019351  pc:35700569 FALSE
10037065  pc:35100181 FALSE


df2:
POLICY_NUMBER AGMT_ID ADDED_PLCY_OTHR_IND
91631540  pc:35501022 FALSE
31100935  pc:35501033 TRUE
31100935  pc:35501111 TRUE
31100933  pc:35501038 TRUE
31100999  pc:35501000 TRUE
10019351  pc:35601055 FALSE
10019351  pc:35700569 FALSE
10037065  pc:35100181 FALSE

expected output:
POLICY_NUMBER       COLUMN                Source     Target
91631540           ADDED_PLCY_OTHR_IND    TRUE       FALSE
331100935           AGMT_ID               pc:35501111 NULL
331100935          ADDED_PLCY_OTHR_IND    TRUE        NULL
NULL               POLICY_NUMBER          NULL        331100933

到目前为止我取得的成就:

df_combine1 = source.merge(target.drop_duplicates(),how='right', indicator=True)
df_combine1=df_combine1[df_combine1['_merge']=='right_only']
df_combine1.drop('_merge', axis=1, inplace=True)
print(df_combine1)

df_combine2 = source.merge(target.drop_duplicates(),how='left', indicator=True)
df_combine2=df_combine2[df_combine2['_merge']=='left_only']
df_combine2.drop('_merge', axis=1, inplace=True)
print(df_combine2)

enter image description here

在找到源不匹配和目标不匹配后,我无法找到以列差异显示它的方法。

0 个答案:

没有答案