Pandas は複数の列を持つ複数の DataFrames で外部結合を残します
Pandas では、データフレームのマージは一般的なタスクです。複数のテーブルと複数の結合列を含む結合を実行する場合、これはより複雑になります。左外部結合の場合、左側のデータフレームのすべての行を保持し、右側のデータフレームから欠損値を埋めます。
データフレーム df1、df2、および df3 を複数の結合列とマージするには、2 段階の手順をお勧めします。アプローチ:
ステップ 1: df1 とdf2
s1 = pd.merge(df1, df2, how='left', on=['Year', 'Week', 'Colour'])
ステップ 2: ステップ 1 の結果を df3
とマージします。2 回目のマージには Year 列が必要ないため、参加する前に df3 からそれをドロップできます:
df3_dropped = df3.drop('Year', axis=1) df = pd.merge(s1, df3_dropped, how='left', on=['Week', 'Colour'])
これにより、必要な結果が得られます。出力:
Year Week Colour Val1 Val2 Val3 0 2014 A Red 50 NaN NaN 1 2014 B Red 60 NaN 60 2 2014 B Black 70 100 10 3 2014 C Red 10 20 NaN 4 2014 D Green 20 NaN 20
以上が複数の結合列を持つ複数のデータフレーム間でパンダの左外部結合を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。