Pandas 連線合併函式merge 詳解

2022-09-26 21:33:21 字數 1820 閱讀 6622

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進行連線,且根據引數知道,預設是內連線 使用預設的不是很明了,通常情況下,我...