pandas中的merge()函式類似於sql中join的用法,可以將不同資料集依照某些字段(屬性)進行合併操作,得到乙個新的資料集。
用法:dataframe1.merge(dataframe2, how=『inner', on=none, left_on=none, right_on=none, left_index=false, right_index=false, sort=false, suffixes=('_x', 『_y'))
引數說明
引數說明
how預設為inner,可設為inner/outer/left/right
on根據某個字段進行連線,必須存在於兩個dateframe中(若未同時存在,則需要分別使用left_on和right_on來設定)
left_on
左連線,以dataframe1中用作連線鍵的列
right_on
右連線,以dataframe2中用作連線鍵的列
left程式設計客棧_index
將dataframe1行索引用作連線鍵
程式設計客棧
right_index
將dataframe2行索引用作連線鍵
sort
根據連線鍵對合併後的資料進行排列,預設為true
suffixes
對兩個資料集**現的重複列,新資料集中加上字尾_x,_y進行區別
#利用字典dict建立資料框
datadf1=pd.dataframe()
datadf2=pd.dataframe()
print(datadf1)
print(datadf2)
>>>
lk程式設計客棧ey value
0 foo 1
1 bar 2
2 baz 3
3 foo 4
rkey value
0 foo 5
1 bar 6
2 qux 7
3 bar 8
#inner鏈結
datalfdf=datadf1.merge(datadf2, left_on='lkey',right_on='rkey')
>>>
lkey value_x rkey value_y
0 foo 1 foo 5
1 foo 4 foo 5
2 bar 2 bar 6
3 bar 2 bar 8
#right鏈結
datadf1.merge(datadf2, left_on='lkey', right_on='rkey',how='right')
>>>
lkey value_x rkey value_y
0 foo 1.0 foo 5
1 foo 4.0 foo 5
2 bar 2.0 bar 6
3 bar 2.0 bar 8
4 nan nan qux 7
#outer鏈結
datadf1.merge(datadf2, left_on='lkey', right_on='rkey', how='out'程式設計客棧)
>>>
lkey value_x rkey value_y
0 foo 1.0 foo 5.0
1 foo 4.0 foo 5.0
2 bar 2.0 bar 6.0
3 bar 2.0 bar 8.0
4 baz 3.0 nan nan
5 nan nan qux 7.0
本文標題: pandas 連線合併函式merge()詳解
本文位址:
Pandas 連線合併函式merge
一 merge函式用途 pandas中的merge 函式類似於sql中join的用法,可以將不同資料集依照某些字段 屬性 進行合併操作,得到乙個新的資料集。二 merge 函式的具體引數 引數 說明how 預設為inner,可設為inner outer left right on根據某個字段進行連線...
pandas資料連線合併
1 df1和df2相同列合併 圖中可以看出合併後出現了重複行,可以使用df.drop duplicates 刪除重複行 另外我們可以看到合併之後的資料行索引還是以前df的索引值,要想使新生成的df索引從0開始,可以新增 ignore index true 執行結果如下 2 df1和df2不同列合併 ...
資料分析入門 pandas之合併函式merge
merge有點類似sql中的join,可以將不同資料集按照某些字段進行合併,得到新的資料集 1.引數一覽表 2.一對一連線 預設情況下,會按照相同欄位的進行連線 例如有相同欄位emp的兩個df,merge的時候就會根據emp進行連線,且根據引數知道,預設是內連線 使用預設的不是很明了,通常情況下,我...