結合方法
- concat結合
- シンプルな結合
- merge結合
- 内部結合
- 外部結合
- 左結合
- 右結合
使うdf
import pandas as pd
df1 = pd.DataFrame({
"ID" : [1,2,3],
"Country" : ["鈴木","中村","小島"],
})
df2 = pd.DataFrame({
"ID" : [2,3,4],
"Address" : ["Hikone","Tokyo","Nagoya"],
})
concat結合
シンプルに右にくっつくか、下にくっつくか。
右にくっつく
concat_df = pd.concat([df1, df2], axis=1)
下にくっつく
concat_df = pd.concat([df1, df2], axis=0)
merge結合
キー(ID)に紐づいて結合する。
内部結合
2つのdfのキーが一致するデータのみ抽出
inner_df = pd.merge(df1, df2, on="ID", how="inner")
外部結合
2つのdfのキーに紐づくデータを全て抽出
outer_df = pd.merge(df1, df2, on="ID", how="outer")
左結合
(引数で)左指定のdfのキーに一致するデータを抽出
left_df = pd.merge(df1, df2, on="ID", how="left")
右結合
(引数で)右指定のdfのキーに一致するデータを抽出
right_df = pd.merge(df1, df2, on="ID", how="right")
漏れなくデータを結合したいのか、どこに欠損を出したくないのか、で使い分ける感じですかね。