df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],
'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})
df
other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],
'B': ['B0', 'B1', 'B2']})
other
# 因为有一样的列存在,所以一定要起别名
#左边的表重命名为key_caller,右边的表重命名为key_other
# 默认 how="left",以左边的index为准,如果右边不足,则补充nan。
df.join(other, lsuffix='_caller', rsuffix='_other')
# how='right', 以右边的index为准,如果左边超过,则删去。
df.join(other, how='right', lsuffix='_caller', rsuffix='_other')
# how='inner',求交集,保留公共部分。
df.join(other, how='inner', lsuffix='_caller', rsuffix='_other')
# how='outer',求并集。
df.join(other, how='outer', lsuffix='_caller', rsuffix='_other')