Python-pandas-merging-joining
提供:Dev Guides
Python Pandas-マージ/参加
Pandasには、SQLなどのリレーショナルデータベースに非常によく似た、フル機能の高性能なメモリ内結合操作があります。
パンダは、DataFrameオブジェクト間のすべての標準データベース結合操作のエントリポイントとして、単一の関数 merge を提供します-
ここでは、次のパラメータを使用しました-
- 左-DataFrameオブジェクト。
- right -別のDataFrameオブジェクト。
- on -結合する列(名前)。 左右のDataFrameの両方にある必要があります オブジェクト
- left_on -キーとして使用する左側のDataFrameの列。 DataFrameの長さと等しい長さの列名または配列のいずれかです。
- right_on -キーとして使用する右側のDataFrameの列。 DataFrameの長さと等しい長さの列名または配列のいずれかです。
- left_index -* Trueの場合、*左側のDataFrameのインデックス(行ラベル)を結合キーとして使用します。 MultiIndex(階層)を持つDataFrameの場合、レベルの数は、右側のDataFrameからの結合キーの数と一致する必要があります。
- right_index -右側のDataFrameの left_index と同じ使用法。
- 方法-「左」、「右」、「外側」、「内側」のいずれか。 デフォルトは内部です。 それぞれの方法について以下に説明します。
- sort -辞書データ順に結合キーで結果のDataFrameをソートします。 デフォルトはTrueで、Falseに設定すると、多くの場合、パフォーマンスが大幅に向上します。
2つの異なるDataFrameを作成し、その上でマージ操作を実行してみましょう。
その*出力*は次のとおりです-
キー上の2つのデータフレームをマージする
その*出力*は次のとおりです-
複数のキーで2つのデータフレームをマージする
その*出力*は次のとおりです-
「how」引数を使用したマージ
mergeの how 引数は、結果のテーブルに含めるキーを決定する方法を指定します。 キーの組み合わせが左テーブルにも右テーブルにも表示されない場合、結合テーブルの値はNAになります。
ここに*方法*オプションとそれらに相当するSQL名の要約があります-
Merge Method | SQL Equivalent | Description |
---|---|---|
left | LEFT OUTER JOIN | Use keys from left object |
right | RIGHT OUTER JOIN | Use keys from right object |
outer | FULL OUTER JOIN | Use union of keys |
inner | INNER JOIN | Use intersection of keys |
左結合
その*出力*は次のとおりです-
右結合
その*出力*は次のとおりです-
外部結合
その*出力*は次のとおりです-
内部結合
結合はインデックスで実行されます。 結合操作は、呼び出されたオブジェクトを優先します。 したがって、* a.join(b)は b.join(a)*と等しくありません。
その*出力*は次のとおりです-