\

Pythonのデータ分析ライブラリであるPandasでは、データフレームの結合を行うためのいくつかの方法が提供されています。主にconcatmergejoinの3つの関数があります。

concat

concatは、単にデータフレームをくっつける操作を行います。縦方向、横方向のどちらにも結合可能ですが、その結果細かい結合ができない場合があります。

import pandas as pd

df1 = pd.DataFrame({"Name": ["田中", "鈴木", "柴田"], "Group": ["A", "A", "B"], "Point": [1, 2, 2]}).set_index("Name")
df2 = pd.DataFrame({"Name": ["松井", "広末"], "Group": ["A", "C"], "Point": [0, 3]}).set_index("Name")

# 縦方向結合
pd.concat([df1, df2])

merge

mergeは、「データ」を軸に横に結合します。何を軸に結合するかを意識しつつ利用します。

df1 = pd.DataFrame({"Shop":["A", "A", "B", "C"], "Item":["りんご", "みかん", "ぶどう", "りんご"]})
df2 = pd.DataFrame({"Item":["りんご", "みかん", "ぶどう"], "price":[150, 300, 500]})

# mergeによる結合
df1.merge(df2)

join

joinは、「インデックス」を軸に横に結合します。結合軸がインデックスで固定のため、複数をまとめ結合できます。

df1 = pd.DataFrame({"Name": ["田中", "鈴木", "柴田"], "Group": ["A", "A", "B"], "Point": [1, 2, 2]}).set_index("Name")
df3 = pd.DataFrame({"Name": ["田中", "鈴木", "柴田"], "Address": ["東京", "大阪", "北海道"]}).set_index("Name")

# joinによる結合
df1.join(df3)

これらの関数を適切に使い分けることで、PythonとPandasを使ったデータ分析がより効率的になります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です