LoginSignup
4
6

More than 3 years have passed since last update.

pandas結合

Posted at

結合方法

  • concat結合
    • シンプルな結合
  • merge結合
    • 内部結合
    • 外部結合
    • 左結合
    • 右結合

使うdf

import pandas as pd

df1 = pd.DataFrame({
    "ID" : [1,2,3],
    "Country" : ["鈴木","中村","小島"],
})


df2 = pd.DataFrame({
    "ID" : [2,3,4],
    "Address" : ["Hikone","Tokyo","Nagoya"],
})

スクリーンショット 2021-04-17 19.53.41.png

concat結合

シンプルに右にくっつくか、下にくっつくか。

右にくっつく

concat_df = pd.concat([df1, df2], axis=1)

スクリーンショット 2021-04-17 19.58.10.png

下にくっつく

concat_df = pd.concat([df1, df2], axis=0)

スクリーンショット 2021-04-17 19.58.24.png

merge結合

キー(ID)に紐づいて結合する。

内部結合

2つのdfのキーが一致するデータのみ抽出

inner_df = pd.merge(df1, df2, on="ID", how="inner")

スクリーンショット 2021-04-17 20.05.39.png

外部結合

2つのdfのキーに紐づくデータを全て抽出

outer_df = pd.merge(df1, df2, on="ID", how="outer")

スクリーンショット 2021-04-17 20.09.27.png

左結合

(引数で)左指定のdfのキーに一致するデータを抽出

left_df = pd.merge(df1, df2, on="ID", how="left")

スクリーンショット 2021-04-17 20.10.53.png

右結合

(引数で)右指定のdfのキーに一致するデータを抽出

right_df = pd.merge(df1, df2, on="ID", how="right")

スクリーンショット 2021-04-17 20.13.22.png

漏れなくデータを結合したいのか、どこに欠損を出したくないのか、で使い分ける感じですかね。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6