约定: import pandas as pd
对象的实例方法-Join
DataFrame对象有个df.join()方法也能进行pd.merge()的合并,它能更加方便地按照对象df的索引进行合并,且能同时合并多个DataFrame对象。它具有如下参数:
df.join(other, on=None, how=’left’, lsuffix=”, rsuffix=”, sort=False)
* 创建DataFrame对象 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
代码结果:
Blue Yellow
c 1 6
e 9 6
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
谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!
热门工具 换一换