1. 程式人生 > 實用技巧 >pandas組隊學習: task6

pandas組隊學習: task6

一、關係連線

  1. 鍵連線

    ​ 在 pandas 中的關係型連線函式 mergejoin 中提供了 how 引數來代表連線形式,分為左連線 left 、右連線 right 、內連線 inner 、外連線 outer 。現有如下兩個表格,下面基於這兩個表格展示左右連線,內外連線的形式。

    df1 = pd.DataFrame({'Name':['San Zhang','Si Li'],
                          'Age':[20,30]})
    df2 = pd.DataFrame({'Name':['Si Li','Wu Wang'],
                        'Gender':['F','M']})
    
    Name Age
    0 張三 20
    1 李四 30
    Name Gender
    0 張三 F
    1 王五 M
    • 左連線

      基於左邊的鍵進行連線,如果右表的鍵在左表中,則新增到左表中,如下所示:

      df1.merge(df2, on='Name', how='left')
      
      Name Age Gender
      0 張三 NaN
      1 李四 F
    • 右連線

      和左連線類似,不過基於的是右表,結果如下:

      df1.merge(df2, on='Name', how='right')
      
      Name Age Gender
      0 Si Li 30 F
      1 Wu Wang nan M
    • 內連線

      合併左右都出現的鍵:

      df1.merge(df2, on='Name', how='inner')
      
      Name Age Gender
      0 Si Li 30 F
    • 外連線

      左右表中出現的鍵都會合並:

      df1.merge(df2, on='Name', how='outer')
      
      Name Age Gender
      0 San Zhang 20 nan
      1 Si Li 30 F
      2 Wu Wang nan M