使用pd.merge()合并
类似 MySQL 中表和表直接的合并
merge与concat的区别在于,merge需要依据某一共同的行或列来进行合并
使用pd.merge()合并时,会自动根据两者相同column名称的那一列,作为key来进行合并
每一列元素的顺序不要求一致
1. 一对一合并
df1 = pd. DataFrame( {
"name" : [ "张三" , "李四" , "王五" ] ,
"id" : [ 1 , 2 , 3 ] ,
"age" : [ 22 , 33 , 44 ] ,
} )
df2 = pd. DataFrame( {
"id" : [ 2 , 3 , 4 ] ,
"sex" : [ "男" , "女" , "男" ] ,
"job" : [ "Saler" , "CEO" , "Programer" ]
} )
display( df1, df2)
name
id
age
0
张三
1
22
1
李四
2
33
2
王五
3
44
id
sex
job
0
2
男
Saler
1
3
女
CEO
2
4
男
Programer
pd. merge( df1, df2)
name
id
age
sex
job
0
李四
2
33
男
Saler
1
王五
3
44
女
CEO
df1. merge( df2)
name
id
age
sex
job
0
李四
2
33
男
Saler
1
王五
3
44
女
CEO
2. 多对一合并
df3 = pd. DataFrame( {
"name" : [ "张三" , "李四" , "王五" ] ,
"id" : [ 1 , 2 , 2 ] ,
"age" : [ 22 , 33 , 44 ] ,
} )
df4 = pd. DataFrame( {
"id" : [ 2 , 3 , 4 ] ,
"sex" : [ "男" , "女" , "男" ] ,
"job" : [ "Saler" , "CEO" , "Programer" ]
} )
display