本篇詳細說明merge的應用,join 和concatenate的拼接方法的與之相似。
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False, validate=None)
參數如下:
left: 拼接的左側DataFrame對象
right: 拼接的右側DataFrame對象
on: 要加入的列或索引級別名稱。 必須在左側和右側DataFrame對象中找到。 如果未傳遞且left_index和right_index為False,則DataFrame中的列的交集將被推斷為連接鍵。
left_on:左側DataFrame中的列或索引級別用作鍵。 可以是列名,索引級名稱,也可以是長度等於DataFrame長度的數組。
right_on: 左側DataFrame中的列或索引級別用作鍵。 可以是列名,索引級名稱,也可以是長度等於DataFrame長度的數組。
left_index: 如果為True,則使用左側DataFrame中的索引(行標簽)作為其連接鍵。 對於具有MultiIndex(分層)的DataFrame,級別數必須與右側DataFrame中的連接鍵數相匹配。
right_index: 與left_index功能相似。
how: One of ‘left’, ‘right’, ‘outer’, ‘inner’. 默認inner。inner是取交集,outer取並集。比如left:[‘A’,‘B’,‘C’];right[’'A,‘C’,‘D’];inner取交集的話,left中出現的A會和right中出現的買一個A進行匹配拼接,如果沒有是B,在right中沒有匹配到,則會丟失。'outer’取並集,出現的A會進行一一匹配,沒有同時出現的會將缺失的部分添加缺失值。
sort: 按字典順序通過連接鍵對結果DataFrame進行排序。 默認為True,設置為False將在很多情況下顯着提高性能。
suffixes: 用於重疊列的字符串后綴元組。 默認為(‘x’,’ y’)。
copy: 始終從傳遞的DataFrame對象復制數據(默認為True),即使不需要重建索引也是如此。
indicator:將一列添加到名為_merge的輸出DataFrame,其中包含有關每行源的信息。 _merge是分類類型,並且對於其合並鍵僅出現在“左”DataFrame中的觀察值,取得值為left_only,對於其合並鍵僅出現在“右”DataFrame中的觀察值為right_only,並且如果在兩者中都找到觀察點的合並鍵,則為left_only。
---------------------
原文:https://blog.csdn.net/brucewong0516/article/details/82707492
