ホームページ >バックエンド開発 >Python チュートリアル >異なる結合タイプを使用して Pandas DataFrame をマージするにはどうすればよいですか?
マージについて
マージでは、共有キーに基づいて 2 つ以上の DataFrame を結合し、新しい DataFrame を作成します。 Pandas は、INNER、LEFT、RIGHT、FULL OUTER 結合など、さまざまなタイプのマージを提供します。
基本的な結合タイプ
a. INNER JOIN
例:
left = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': np.random.randn(4)}) right = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': np.random.randn(4)}) left.merge(right, on='key')
b. LEFT OUTER JOIN
例:
left.merge(right, on='key', how='left')
c. RIGHT OUTER JOIN
例:
left.merge(right, on='key', how='right')
d. FULL OUTER JOIN
例:
left.merge(right, on='key', how='outer')
左/右除外によるデータの除外結合
特定の行を除外する必要がある場合は、最初に LEFT/RIGHT OUTER JOIN を実行し、フィルタリングして他の DataFrame から行を除外することで、Left-Exclude JOIN または Right-Exclude JOIN を実行できます。
e。 Left-Exclude JOIN
例:
(left.merge(right, on='key', how='left', indicator=True) .query('_merge == "left_only"') .drop('_merge', 1))
f.右除外 JOIN
例:
(left.merge(right, on='key', how='right', indicator=True) .query('_merge == "right_only"') .drop('_merge', 1))
g。 ANTI JOIN
例:
(left.merge(right, on='key', how='outer', indicator=True) .query('_merge != "both"') .drop('_merge', 1))
重複キーの処理列
出力でのキー列の重複を避けるために、マージ前に適切なインデックスをキーとして設定できます:
left3 = left2.set_index('keyLeft') left3.merge(right2, left_index=True, right_on='keyRight')
複数の列のマージ
複数の列で結合するには、on (または left_on と right_on のように) のリストを指定します。
left.merge(right, on=['key1', 'key2'] ...)
追加のマージ関数
を参照してください。より具体的な例とケースについては、マージ、結合、連結に関するドキュメントを参照してください。
以上が異なる結合タイプを使用して Pandas DataFrame をマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。