はじめに
データフレームをくっつける方法を調べるとmergeやらconcatenateがある。
初心者の自分としては混乱してしまうのでmergeを少しまとめるます
ベースデータ準備
import pandas as pd import numpy as np df1 = pd.DataFrame({'key':['X', 'Z', 'Y', 'Z', 'X', 'X'], "data1": np.arange(6)}) df2 = pd.DataFrame({'key': ['Q', 'Y', 'Z'], 'data2':[1, 2, 3]})
merge (inner join)
- 何も指定していないと inner join と同等
マージイメージ
コード
pd.merge(df1, df2)
結果
merge (left join)
- howパラメータにleftを渡すと left join
マージイメージ
コード
pd.merge(df1, df2, on="key", how="left")
結果
merge (right join)
- howパラメータにrightを渡すと right join
マージイメージ
コード
pd.merge(df1, df2, on="key", how="right")
結果
merge (outer join)
- howパラメータにouterを渡すと outer join
マージイメージ
コード
pd.merge(df1, df2, on="key", how="outer")
結果
最後に
なるほど。RDBのJOINと同じですね