1. 程式人生 > >[Python3]pandas.merge用法詳解

[Python3]pandas.merge用法詳解

摘要

資料分析與建模的時候大部分時間在資料準備上,包括對資料的載入、清理、轉換以及重塑。pandas提供了一組高階的、靈活的、高效的核心函式,能夠輕鬆的將資料規整化。這節主要對pandas合併資料集的merge函式進行詳解。(用過SQL或其他關係型資料庫的可能會對這個方法比較熟悉。)

1.merge函式的引數一覽表

2.建立兩個DataFrame
在這裡插入圖片描述

3.pd.merge()方法設定連線欄位。
預設引數how是inner內連線,並且會按照相同的欄位key進行合併,即等價於on=‘key’。
在這裡插入圖片描述

也可以顯示的設定on=‘key’,這裡也推薦這麼做。
在這裡插入圖片描述

當兩邊合併欄位不同時,可以使用left_on和right_on引數設定合併欄位。當然這裡合併欄位都是key所以left_on和right_on引數值都是key。
在這裡插入圖片描述

4.pd.merge()方法設定連線方法。
主要包括inner(內連線)、outer(外連結)、left(左連線)、right(右連線)。
引數how預設值是inner內連線,上面的都是採用內連線,連線兩邊都有的值。
當採用outer外連線時,會取並集,並用NaN填充。
在這裡插入圖片描述
外連線其實左連線和右連線的並集。左連線是左側DataFrame取全部資料,右側DataFrame匹配左側DataFrame。(右連線right和左連線類似)
在這裡插入圖片描述

5.pd.merge()方法索引連線,以及重複列名命名。
pd.merge()方法可以通過設定left_index或者right_index的值為True來使用索引連線,例如這裡df1使用data1當連線關鍵字,而df2使用索引當連線關鍵字。
在這裡插入圖片描述

從上面可以發現兩個DataFrame中都有key列,merge合併之後,pandas會自動在後面加上(_x,_y)來區分,我們也可以通過設定suffixes來設定名字。
在這裡插入圖片描述

我們下次再見,如果還有下次的話!!!
歡迎關注微信公眾號:516資料工作室
516資料工作室