目录
方法一
简单来说就是重命名其中一个列名,保持相同的列名进行关联。
让我们在合并前尝试重命名要匹配的列:
# 将df2中的'ticket-reference_id'重命名为'reference_id'
# 再去关联df1中的'reference_id'
result = df1.merge(df2.rename(columns={'ticket-reference_id': 'reference_id'}),
how='left',
on='reference_id',
copy=False)
print(result)
reference_id reference_date price quantity
0 112 2012-01-01 14.35 2
1 205 2012-03-02 10.02 4
2 325 2012-04-02 5.40 7
3 14 2012-06-20 7.68 5
文章说这种left_on,right_on没有用。 result = df1.merge(right=df2, how='left', left_on='reference_id', right_on='ticket-reference_id', copy=False)
方法二
当名称不同时,使用xxx_on
参数而不是on=
:
pd.merge(df1, df2, left_on= ['userid', 'column1'],
right_on= ['username', 'column1'],
how = 'left')