Pythonのpandasライブラリには、データを結合するための便利な関数があります。その中でも、concat
、merge
、join
は特に重要です。
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])
# 横方向に連結
pd.concat([df1, df2], axis=1)
merge
merge
は、特定の列を基準にして2つのデータフレームを結合するための関数です。具体的な使用例は以下の通りです。
df1 = pd.DataFrame({"Shop":["A", "A", "B", "C"], "Item":["りんご", "みかん", "ぶどう", "りんご"]})
df2 = pd.DataFrame({"Item":["りんご", "みかん", "ぶどう"], "price":[150, 300, 500]})
# データ列を基準に結合
df1.merge(df2, on='Item')
join
join
は、インデックスを基準にして2つ以上のデータフレームを結合するための関数です。具体的な使用例は以下の通りです。
df1 = pd.DataFrame({"Name": ["田中", "鈴木", "柴田"], "Group": ["A", "A", "B"], "Point": [1, 2, 2]}).set_index("Name")
df2 = pd.DataFrame({"Name": ["田中", "鈴木"], "Address": ["東京", "大阪"]}).set_index("Name")
# インデックスを基準に結合
df1.join(df2)
これらの関数を理解し、適切に使い分けることで、Pythonでのデータ分析がよりスムーズになります。.