一、merge函式用途pandas中的merge()函式類似於sql中join的用法,可以將不同資料集依照某些字段(屬性)進行合併操作,得到乙個新的資料集。
二、merge()函式的具體引數引數
說明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進行區別
三、merge用法舉例
#利用字典dict建立資料框
datadf1=pd.dataframe(
)datadf2=pd.dataframe(
)print
(datadf1)
print
(datadf2)
>>
>
lkey 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=
'outer'
)>>
>
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資料連線合併
1 df1和df2相同列合併 圖中可以看出合併後出現了重複行,可以使用df.drop duplicates 刪除重複行 另外我們可以看到合併之後的資料行索引還是以前df的索引值,要想使新生成的df索引從0開始,可以新增 ignore index true 執行結果如下 2 df1和df2不同列合併 ...
Pandas 連線合併函式merge 詳解
pandas中的merge 函式類似於sql中join的用法,可以將不同資料集依照某些字段 屬性 進行合併操作,得到乙個新的資料集。用法 dataframe1.merge dataframe2,how inner on none,left on none,right on none,left ind...
資料分析入門 pandas之合併函式merge
merge有點類似sql中的join,可以將不同資料集按照某些字段進行合併,得到新的資料集 1.引數一覽表 2.一對一連線 預設情況下,會按照相同欄位的進行連線 例如有相同欄位emp的兩個df,merge的時候就會根據emp進行連線,且根據引數知道,預設是內連線 使用預設的不是很明了,通常情況下,我...