merge有點類似SQL中的join,可以將不同數據集按照某些字段進行合並,得到新的數據集
1.參數一覽表:
2.一對一連接:默認情況下,會按照相同字段的進行連接
例如有相同字段emp的兩個df,merge的時候就會根據emp進行連接,且根據參數知道,默認是內連接:
使用默認的不是很明了,通常情況下,我們推薦使用on明確連接條件,這和SQL里寫ON是類似的:
3.多對一合並
4.多對多連接(交叉連接)
5.key的規范化
也就是上面介紹的,通過on來指定連接的key,明了且規范
並且,合並的時候,如果有兩個相同的列,但是on只指定了一列,另外一列相同時則會通過_x,_y等進行區分
可以通過參數suffix進行控制:
6.通過left_on、right_on指定左右兩邊的列作為key,這樣,當兩邊列名都不相等時使用
這樣即使兩邊不相等,也能連接了
7.內合並和外合並
內合並就是保留兩邊都有的key,這點和SQL內連接的道理是一樣的,這是默認的方式,也就是how參數的默認值,不再贅述
外合並就是類似SQL的外連接了,對於沒有連接上的數據,自動補全為NaN:這也就是SQL的全外連接
其他的left、right同理:
8.列沖突解決
也就是前面說的通過on控制列,加suffix來控制,默認值為_x,_y: