您发布的数据片段中的错误有点神秘,因为没有通用值,所以联接操作失败,因为这些值不重叠,这需要您在左侧和右侧提供后缀:
In [173]:df_a.join(df_b, on='mukey', how='left', lsuffix='_left', rsuffix='_right')Out[173]: mukey_left DI PI mukey_right niccdcdindex 0 100000 35 14 NaN NaN1 1000005 44 14 NaN NaN2 1000006 44 14 NaN NaN3 1000007 43 13 NaN NaN4 1000008 43 13 NaN NaN
merge之所以有效,是因为它没有此限制:
In [176]:df_a.merge(df_b, on='mukey', how='left')Out[176]: mukey DI PI niccdcd0 100000 35 14 NaN1 1000005 44 14 NaN2 1000006 44 14 NaN3 1000007 43 13 NaN4 1000008 43 13 NaN



