Pandas で内部結合を行う方法 (例あり)
次の基本構文を使用して、パンダで内部結合を実行できます。
import pandas as pd df1. merge (df2, on=' column_name ', how=' inner ')
次の例は、この構文を実際に使用する方法を示しています。
例: Pandas で内部結合を実行する方法
さまざまなバスケットボール チームに関する情報を含む、次の 2 つのパンダ データフレームがあるとします。
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'G', 'H'], ' assists ': [4, 9, 14, 13, 10, 8]}) #view DataFrames print (df1) team points 0 to 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7:28 a.m. print (df2) team assists 0 to 4 1 B 9 2 C 14 3 D 13 4G 10 5:8 a.m.
次のコードを使用して内部結合を実行すると、両方の DataFrame でチーム名が表示される行のみが保持されます。
#perform left join
df1. merge (df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
マージされた DataFrame に含まれる行は、両方の DataFrame にチーム名が表示される行のみです。
2 つのチーム (チーム E と F) は、両方の DataFrame に表示されなかったため、削除されたことに注意してください。
次の構文でpd.merge()を使用して、まったく同じ結果を返すこともできることに注意してください。
#perform left join
p.d. merge (df1, df2, on=' team ', how=' inner ')
team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8
このマージされた DataFrame は前の例の DataFrame と一致することに注意してください。
注:マージ関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandasで左結合を行う方法
複数の列にまたがる Pandas DataFrame をマージする方法
パンダの結合またはマージ: 違いは何ですか?