约定:
import pandas as pd
对象的实例方法-Join
DataFrame对象有个df.join()方法也能进行pd.merge()的合并,它能更加方便地按照对象df的索引进行合并,且能同时合并多个DataFrame对象。它具有如下参数:
df.join(other, on=None, how=’left’, lsuffix=”, rsuffix=”, sort=False)
df3=pd.DataFrame({'Red':[1,3,5],'Green':[5,0,3]},index=list('abd'))
df3
代码结果:
|
Green |
Red |
a |
5 |
1 |
b |
0 |
3 |
d |
3 |
5 |
df4=pd.DataFrame({'Blue':[1,9],'Yellow':[6,6]},index=list('ce'))
df4
代码结果:
1 简单合并(默认是left左连接)
df3.join(df4)
代码结果:
|
Green |
Red |
Blue |
Yellow |
a |
5 |
1 |
NaN |
NaN |
b |
0 |
3 |
NaN |
NaN |
d |
3 |
5 |
NaN |
NaN |
2 和merge合并方式一样
df3.join(df4,how='outer')
代码结果:
|
Green |
Red |
Blue |
Yellow |
a |
5.0 |
1.0 |
NaN |
NaN |
b |
0.0 |
3.0 |
NaN |
NaN |
c |
NaN |
NaN |
1.0 |
6.0 |
d |
3.0 |
5.0 |
NaN |
NaN |
e |
NaN |
NaN |
9.0 |
6.0 |
3 合并多个DataFrame对象
df5=pd.DataFrame({'Brown':[3,4,5],'White':[1,1,2]},index=list('aed'))
df3.join([df4,df5])
代码结果:
|
Green |
Red |
Blue |
Yellow |
Brown |
White |
a |
5 |
1 |
NaN |
NaN |
3.0 |
1.0 |
b |
0 |
3 |
NaN |
NaN |
NaN |
NaN |
d |
3 |
5 |
NaN |
NaN |
5.0 |
2.0 |
df3.join([df4,df5],how='outer')
代码结果:
|
Green |
Red |
Blue |
Yellow |
Brown |
White |
a |
5.0 |
1.0 |
NaN |
NaN |
3.0 |
1.0 |
b |
0.0 |
3.0 |
NaN |
NaN |
NaN |
NaN |
c |
NaN |
NaN |
1.0 |
6.0 |
NaN |
NaN |
d |
3.0 |
5.0 |
NaN |
NaN |
5.0 |
2.0 |
e |
NaN |
NaN |
9.0 |
6.0 |
4.0 |
1.0 |
谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!
|