pandas:データフレームを【マージ】する方法
前提
- データフレームの作成
サンプルコード
2つのデータフレームをマージする
データ作成
import pandas as pd
df1 = pd.DataFrame({'name':['aaa','bbb','ccc','ddd'], 'key':['x','y','x','z']})
df2 = pd.DataFrame({'key':['x','y','z'], 'value':[100,200,300]})
print(df1)
print(df2)
name key 0 aaa x 1 bbb y 2 ccc x 3 ddd z key value 0 x 100 1 y 200 2 z 300
- df1
- 「key」列には(x,y,z)の3種類のデータが入っている
- 4行
- df2
- 「key」の(x,y,z)には、それぞれ(100,200,300)の値が関連づけられている
- 3行(df1とは異なる行数)
マージ実行(結合キー:「key」列)
df = pd.merge(df1, df2, on='key')
print(df)
name key value 0 aaa x 100 1 ccc x 100 2 bbb y 200 3 ddd z 300
- 「key」列でdf1とdf2を結合
- 行数はdf1の行数の4行になった
- 左にあるdf1がメインのデータフレーム
- そこにdf2の「value」列が追加になったイメージ
