Pandas | concat() と merge() の使い分け
pandasのconcatとmergeの使い分け方を教えて
Pandasには、データフレームを結合するための関数として、pandas.concat()
関数と pandas.merge()
関数があります。それぞれの使い分け方を紹介します。
💡 pandas.concat()
関数
pandas.concat()
関数は、複数のデータフレームを縦方向(行方向)に連結するために使用されます。連結するデータフレームは、リストやタプルの形で渡すことができます。
以下に、pandas.concat()
関数を使用して、複数のデータフレームを連結する例を示します。
import pandas as pd # データフレームを作成する df1 = pd.DataFrame({'col1': [1, 2, 3], 'col2': [4, 5, 6]}) df2 = pd.DataFrame({'col1': [7, 8, 9], 'col2': [10, 11, 12]}) df3 = pd.DataFrame({'col1': [13, 14, 15], 'col2': [16, 17, 18]}) # データフレームを連結する df = pd.concat([df1, df2, df3]) print(df)
実行すると、次のようになります。
col1 col2 0 7 10 1 8 11 2 9 12 0 13 16 1 14 17 2 15 18
上記の例では、3つのデータフレームを連結しています。連結されたデータフレームは、元のデータフレームを縦方向(行方向)に結合したものになります。
💡 pandas.merge()
関数
pandas.merge()
関数は、複数のデータフレームを結合するために使用されます。この関数では、結合するデータフレームを指定するとともに、結合するカラムを指定することで、データフレームを結合することができます。
以下に、pandas.merge()
関数を使用して、複数のデータフレームを結合する例を示します。
import pandas as pd # データフレームを作成する df1 = pd.DataFrame({'id': [1, 2, 3], 'col1': [4, 5, 6]}) df2 = pd.DataFrame({'id': [1, 2, 3], 'col2': [7, 8, 9]}) # データフレームを結合する df = pd.merge(df1, df2, on='id') print(df)
実行すると、次のようになります。
id col1 col2 0 1 4 7 1 2 5 8 2 3 6 9
上記の例では、2つのデータフレームを結合しています。結合されたデータフレームは、id
カラムを元に結合されます。
以上が、Pandasのpandas.concat()
関数と pandas.merge()
関数の使い分け方になります。