首頁  >  文章  >  後端開發  >  如何合併資料幀並包含兩者中的列?

如何合併資料幀並包含兩者中的列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-02 12:43:03930瀏覽

How to Merge DataFrames and Include Columns from Both?

透過列包含合併 DataFrame

合併兩個 DataFrame 時,通常會維護第一個 DataFrame 的信息,同時合併第二個 DataFrame 的資料。讓我們探索如何在 Pandas 中實現這一點。

考慮以下場景:

  • DataFrame df1 包含個人的年齡資訊。
  • DataFrame df2 包含個人的性別資訊.

我們的目標是用性別資訊填滿 df1,同時保留 df2 中不存在的個體的資訊。

解決方案

方法1:使用Pandas 的合併功能with left Join

<code class="python">df = df1.merge(df2[['Name', 'Sex']], on='Name', how='left')</code>

此合併操作將Name 列上的df1 與df2 連接,同時保留df1中的所有行(由於左聯接)並更新Sex 中可用的值。

方法二:使用Pandas的map函數

<code class="python">df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])</code>

此方法使用map函數將df1的Name列對應到df2的Sex列,同時將Name設定為df2中的索引。這可以有效地匹配兩個 DataFrame 中的個體,並用 NaN 填充缺失值。

注意事項

如果 df2 中存在重複的 Name 值,則映射方法可能會傳回不一致的結果。在這種情況下,請考慮對 df2 進行去重或使用基於字典的對應。

此外,如果 Name 包含缺失值,請謹慎使用合併函數,因為這會導致不匹配的行被刪除。如果資料完整性至關重要,請在合併之前適當處理缺失值。

以上是如何合併資料幀並包含兩者中的列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn