數據分析入門——pandas之合併函數merge

merge有點相似SQL中的join,能夠將不一樣數據集按照某些字段進行合併,獲得新的數據集spa

 1.參數一覽表:3d

  

2.一對一鏈接:默認狀況下,會按照相同字段的進行鏈接blog

  例若有相同字段emp的兩個df,merge的時候就會根據emp進行鏈接,且根據參數知道,默認是內鏈接:im

  

  

  使用默認的不是很明瞭,一般狀況下,咱們推薦使用on明確鏈接條件,這和SQL裏寫ON是相似的:數據

  

3.多對一合併規範化

  

 4.多對多鏈接(交叉鏈接)db

  

5.key的規範化img

  也就是上面介紹的,經過on來指定鏈接的key,明瞭且規範co

  而且,合併的時候,若是有兩個相同的列,可是on只指定了一列,另一列相同時則會經過_x,_y等進行區分join

  能夠經過參數suffix進行控制:

  

6.經過left_on、right_on指定左右兩邊的列做爲key,這樣,當兩邊列名都不相等時使用

  這樣即便兩邊不相等,也能鏈接了

  

7.內合併和外合併

  內合併就是保留兩邊都有的key,這點和SQL內鏈接的道理是同樣的,這是默認的方式,也就是how參數的默認值,再也不贅述

  外合併就是相似SQL的外鏈接了,對於沒有鏈接上的數據,自動補全爲NaN:這也就是SQL的全外鏈接

  

  其餘的left、right同理:

  

  

8.列衝突解決

  也就是前面說的經過on控制列,加suffix來控制,默認值爲_x,_y: