【发布时间】:2021-02-22 18:54:50
【问题描述】:
我有两个如下所示的 DataFrame:
bin last_4 brand name chargeback
0 112233 1234 visa Joe 0
1 445566 5678 visa Susy 0
2 778899 9012 mastercard James 0
bin last_4 chargeback
0 112233 1234 1
1 445566 5678 1
我想得到以下结果:
bin last_4 brand name chargeback
0 112233 1234 visa Joe 0
1 445566 5678 visa Susy 0
2 778899 9012 mastercard James 0
3 112233 1234 visa Joe 1
4 445566 5678 visa Susy 1
我已经尝试了几次pd.merge() 方法。然而,当我打电话给pd.merge(df_1, df_2, how='outer', on=['bin', 'last_4']) 时,我只得到了 3 行重复的“chargeback”列,如下所示:
bin last_4 brand name chargeback_x chargeback_y
0 112233 1234 visa Joe 0 1.0
1 445566 5678 visa Susy 0 1.0
2 778899 9012 mastercard James 0 NaN
当我调用 pd.merge(df_1, df_2, how='outer', on=['bin', 'last_4', 'chargeback']) 时,我在“品牌”和“名称”列中得到了 NaN 值:
bin last_4 brand name chargeback
0 112233 1234 visa Joe 0
1 445566 5678 visa Susy 0
2 778899 9012 mastercard James 0
3 112233 1234 NaN NaN 1
4 445566 5678 NaN NaN 1
那么您知道如何获取这些包含完整信息的复制行吗?
【问题讨论】:
标签: python pandas dataframe merge duplicates