首頁  >  文章  >  後端開發  >  如何將 Pandas DataFrame 與重疊列組合?

如何將 Pandas DataFrame 與重疊列組合?

Linda Hamilton
Linda Hamilton原創
2024-10-25 03:23:02887瀏覽

How to Combine Pandas DataFrames with Overlapping Columns?

如何基於共享列組合Pandas 資料框

問題:

嘗試組合兩個Pandas 資料時使用DataFrame. join() 方法的框架時,遇到錯誤:「列重疊。」

資料框:

  • restaurant_ids_dataframe:包含有關餐廳的資訊ID、類別、地址等。
  • restaurant_review_frame:包含日期、星級、使用者 ID 等評論資料。

嘗試的程式碼:

<code class="python">restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')</code>

錯誤:

<code class="text">Exception: columns overlap: Index([business_id, stars, type], dtype=object)</code>

錯誤:

解決方案:
<code class="python">import pandas as pd
result = pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>

要解決錯誤並組合資料框,請使用merge() 方法而不是join():

預設情況下,merge() 使用外連接,它組合了兩個資料幀中的所有行。 on 參數指定用於執行合併操作的列。

重疊列的後綴:
<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>

由於兩個資料框都有一個名為star 的資料列,因此合併後的資料框將包含兩列:stars_x 和stars_y。若要自訂這些後綴,請使用 suffixes 參數:這會將合併資料框中的stars 欄位重新命名為stars_restaurant_id 和stars_restaurant_review。

以上是如何將 Pandas DataFrame 與重疊列組合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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