1
Help us understand the problem. What are the problem?

posted at

updated at

データフレーム同士の結合(merge関数) について

「このデータは、数学のテストの結果で」
「このデータは、英語のテストの結果で」

このようなデータフレームはまとめたいデータだと思います。

このようなデータを一つに結合させることができれば、情報がより分かりやすくなりますよね。
その時に用いる関数がmerge関数です

これはそれぞれのデータを横方向に結合させることができる関数です。

ちなみに今回の記事の範囲外になりますが、同じ種類のデータを結合させたいとき
つまり縦方向にデータを結合させたいときは、pandasライブラリにあるpandas.concatメソッドです。

では実際に、merge関数を使用していきましょう。

import pandas as pd
import numpy as np
df01 = pd.DataFrame( {'name':['A', 'B', 'C'],
'math':[60, 70, 80]})
df01
  name  math
0    A    60
1    B    70
2    C    80
df02 = pd.DataFrame( {'name':['A', 'B', 'C', 'D'],
'english':[100, 90, 80, 70]})
df02
  name  english
0    A      100
1    B       90
2    C       80
3    D       70

このような二つのデータには共通してnameというカラムが存在します。これを主キーとも呼びます。
これを紐づけながらデータ加工をします。

pd.merge(df01 , df02 , how="inner" , on="name")

結合方法(how)には、様々存在しますが、今回は内部結合というものを使っていきました。

  name  math  english
0    A    60      100
1    B    70       90
2    C    80       80

このように、二つのデータが上手く結合できました。

今回は以上になります。ありがとうございました。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?