依鍵欄位進行合併

給試算表使用者的 pandas 合併實務

John Miller

Principal Data Scientist

流程架構(續)

$$

檢視並理解資料後:

  • 判定關係
  • 檢查鍵欄的唯一值

方塊

給試算表使用者的 pandas 合併實務

唯一鍵欄位

$$ $$ 單一欄位鍵的唯一值

df.duplicated('GameKey').sum()

$$ -- -- 值為 0 表示沒有重複 -- --

df.duplicated(['GameKey', 'PlayId']).sum()

單一欄位索引

多欄位索引

給試算表使用者的 pandas 合併實務

流程架構(續)

$$

檢視並理解資料後:

  • 判定關係
  • 檢查鍵欄的唯一值
  • 撰寫合併語句並執行

方塊

給試算表使用者的 pandas 合併實務

執行合併

$$

語句相同!

df1.merge(df2, how='inner', on='')

  • 留意參數

$$

完整語法: DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), indicator=False, validate=None)

給試算表使用者的 pandas 合併實務

驗證合併

DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), indicator=False, validate=None)

$$

validate 的取值:

  • 「one_to_one」或「1:1」
  • 「one_to_many」或「1:m」
  • 「many_to_one」或「m:1」
  • 「many_to_many」或「m:m」(無效果)
給試算表使用者的 pandas 合併實務

一起來練習吧!

給試算表使用者的 pandas 合併實務

Preparing Video For Download...