首頁 > 資料庫 > mysql教程 > 如何在具有多個連接列的多個資料幀之間執行 Pandas 左外連接?

如何在具有多個連接列的多個資料幀之間執行 Pandas 左外連接?

Barbara Streisand
發布: 2025-01-04 00:51:44
原創
1040 人瀏覽過

How to Perform a Pandas Left Outer Join Across Multiple DataFrames with Multiple Join Columns?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板