Pandas 在具有多個列的多個資料幀上進行左外連接
在Pandas 中,合併資料幀是一項常見任務。當執行涉及多個表和多個連接列的連接時,這會變得更加複雜。對於左外連接,我們保留左側資料幀中的所有行,並填充右側資料幀中的缺失值。
要將資料幀df1、df2 和df3 與多個連接列合併,我們建議分兩步驟進行方法:
第1 步:合併df1 和df2
s1 = pd.merge(df1, df2, how='left', on=['Year', 'Week', 'Colour'])
第2 步:將第1 步的結果與df3
合併,因為我們不需要第二次合併的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
以上是如何在具有多個連接列的多個資料幀之間執行 Pandas 左外連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!