当一个df只有合并所需的列时,pandas会合并两个数据帧

时间:2018-06-08 09:25:18

标签: python-3.x pandas merge

我有以下两个dfdf_adf_b

df_a = pd.DataFrame(data={'name':['AMY CAMIE INC', 'AMY CAMIE'], 'code':['850','850'],'a_id':['V0199','V0199']})
df_b = pd.DataFrame(data={'code':['850','850'],'b_id':['V0199','V0199']})

当我将df_a合并到df_b时,

df_a.merge(df_b,how='left', left_on=['a_id', 'code'],
                            right_on=['b_id', 'code'],
                            indicator=True)

我得到了

    a_id code           name   b_id _merge
0  V0199  850  AMY CAMIE INC  V0199   both
1  V0199  850  AMY CAMIE INC  V0199   both
2  V0199  850      AMY CAMIE  V0199   both
3  V0199  850      AMY CAMIE  V0199   both

我尝试检查df_b中的df_a中的哪些行,因此将indicator设置为True,但不明白为什么合并后我得到了df 4行而不是2行。

在对两个{{1}}进行内部合并时也会发生这种情况。

0 个答案:

没有答案