Pandas 利用concat
来加速merge。
优点:
- 加快速度
- 不会改变data type
步骤:
df1
取出merge时参考的列,命名merged_gf
- 进行merge
- 取出merge后新增的列
df
与新增的列进行concat
def merge_by_concat(df1, df2, merge_on):
merged_gf = df1[merge_on]
merged_gf = merged_gf.merge(df2, on=merge_on, how='left')
new_columns = [col for col in list(merged_gf) if col not in merge_on]
df1 = pd.concat([df1, merged_gf[new_columns]], axis=1)
return df1