Pandas詳解十八之DataFrame物件的-Join合併
阿新 • • 發佈:2018-12-23
約定:
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 |
謝謝大家的瀏覽,
希望我的努力能幫助到您,
共勉!