指定一个参照列,以该列为准,合并其他列。
要实现该合并,也可以通过索引来合并,即以index列为基准。将left_index和right_index都设置为True即可。(left_index和right_index都默认为False,left_index表示左表以左表数据的index为基准,right_index表示右表以右表数据的index为基准。)
相比方法①,区别在于,如图,方法②合并出的数据中有重复列。
pd.merge(right,how=‘inner’,on=“None”,left_on=“None”,right_on=“None”,left_index=False,right_index=False)
其中,left_index与right_index不能与on同时指定。
准备数据‘
新准备一组数据:
inner(默认)
使用来自两个数据集的键的交集
outer
使用来自两个数据集的键的并集
left
使用来自左数据集的键
right
使用来自右数据集的键
如图,df2中有重复id1的数据。
合并
df_merge=pd.merge(df1,df2,on='id')print(df_merge)合并结果如图所示:
依然按照默认的Inner方式,使用来自两个数据集的键的交集。且重复的键的行会在合并结果中体现为多行。
如图表1和表2中都存在多行id重复的。
pd.concat(objs,axis=0,join=‘outer’,ignore_index:bool=False,keys=None,levels=None,names=None,verify_integrity:bool=False,sort:bool=False,copy:bool=True)
其他重要参数通过实例说明。
首先准备三组DataFrame数据:
如果想要在合并后,标记一下数据都来自于哪张表或者数据的某类别,则也可以给concat加上参数keys。
此时,添加的keys与原来的index组成元组,共同成为新的index。