python pandas mergeについてのメモ

Python

はじめに

データフレームをくっつける方法を調べると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と同じですね

タイトルとURLをコピーしました