1. 程式人生 > >Pandas詳解十八之DataFrame物件的-Join合併

Pandas詳解十八之DataFrame物件的-Join合併

約定:
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

謝謝大家的瀏覽,
希望我的努力能幫助到您,
共勉!