理解合併
合併根據共用金鑰組合兩個或多個DataFrame 以建立新>
合併根據共用金鑰組合兩個或多個DataFrame 以建立新的DataFrame 。 Pandas 提供各種類型的合併,包括 INNER、LEFT、RIGHT 和 FULL OUTER 連接。
基本聯結型a。 INNER JOIN
left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)}) right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)}) left.merge(right, on='key')範例:
b. LEFT OUTER JOIN
left.merge(right, on='key', how='left')
c. RIGHT OUTER JOIN
範例:
left.merge(right, on='key', how='right')
d. FULL OUTER JOIN
left.merge(right, on='key', how='outer')範例:
排除資料左/右排除連線
如果您需要排除特定行,您可以透過先執行左/右外部連接並過濾以排除特定行,從而執行左排除或右排除連接其他DataFrame。
e。左排除 JOIN(left.merge(right, on='key', how='left', indicator=True) .query('_merge == "left_only"') .drop('_merge', 1))範例:
f.右排除JOIN
(left.merge(right, on='key', how='right', indicator=True) .query('_merge == "right_only"') .drop('_merge', 1))範例:
g。 ANTI JOIN
(left.merge(right, on='key', how='outer', indicator=True) .query('_merge != "both"') .drop('_merge', 1))範例:
處理重複密鑰列
left3 = left2.set_index('keyLeft') left3.merge(right2, left_index=True, right_on='keyRight')為了避免輸出中出現重複的鍵列,您可以在合併之前設定適當的索引作為鍵:
合併多個欄位
left.merge(right, on=['key1', 'key2'] ...)要連接多列,請指定on 的清單(或left_on 和right_on,如
附加合併函數
以上是Pandas DataFrame 如何使用不同的連接類型進行合併?的詳細內容。更多資訊請關注PHP中文網其他相關文章!