データをマージしたい(pandas.merge
)
1left = pd.read_csv("測定データ")
2right = pd.read_csv("温度データ")
3merged = pd.merge(left, right, on="time", how="outer)
pandas.mergeで、 2つの異なるデータフレームを、あるカラムを基準としてひとつに結合できます。
異なるカラム名を基準にマージしたい(on
/ left_on
/ right_on
)
1# 共通のカラムがある場合
2merged = pd.merge(left, right, on="time")
3
4# 共通のカラムがない場合
5merged = pd.merge(left, right, left_on="datetime", right_on="timestamp")
on
で基準としたいカラムを指定して、データフレームを結合します。
カラム名が異なる場合はlelft_on
、right_on
でそれぞれ指定もできます。
複数のカラム名をリストで指定できます。
マージ方法を変更したい(how
)
1// leftとrightで共通するアイテム
2merged = pd.merge(left, right, how="inner")
3
4// leftとrightで共通しないイテム
5merged = pd.merge(left, right, how="outer")
6
7// left優先
8merged = pd.merge(left, right, how="left")
9
10// right優先
11merged = pd.merge(left, right, how="right")
12
13//
14merged = pd.merge(left, right, how="cross")
how
オプションを使って、マージ方法を変更できます。
デフォルトはinnter`で、共通するカラムの値でマージされます。 データを落とさないようにマージするなら
outer`にします。
データに主従関係があるならleft
、もしくはright
にします。
マージ情報を確認したい(indicator
)
1merged = pd.merge(left, right, on="time", how="outer", indicator=True)
indicator=True
オプションを使って、マージされた方法を確認できます。
デフォルトだと``_merge`カラムが追加され、そのアイテムがどのデータフレーム由来かが分かります。
マージ操作はぱっと見で分かりづらいので、想定通りのマージ結果になっているか確認しながら進めるとよいです。