ホームページ  >  記事  >  バックエンド開発  >  Pandas データ フレームを「join()」で結合するときに発生する列の重複エラーを解決するにはどうすればよいですか?

Pandas データ フレームを「join()」で結合するときに発生する列の重複エラーを解決するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-27 06:07:03206ブラウズ

How to Resolve Column Overlap Errors While Combining Pandas Data Frames with `join()`?

共通列でマージを使用して Pandas データ フレームを結合する

データ分析タスクを使用する場合、多くの場合、複数のソースからのデータを 1 つのデータ フレームに結合する必要があります。 。 Pandas には、データ フレーム結合を実行するためのメソッドがいくつか用意されています。そのうちの 1 つは、共通の列に基づいてデータ フレームを結合できる merge() です。

2 つのデータ フレームがあるとします。

restaurant_ids_dataframe:

Column Name Data Type
business_id int
categories object
city object
full_address object
latitude float
longitude float
name object
neighborhoods object
open bool
review_count int
stars float
state object
type object

restaurant_review_frame:

Column Name Data Type
business_id int
date object
review_id int
stars float
text object
type object
user_id int
votes int

目標は、DataFrame.join を使用してこれらのデータ フレームを 1 つのデータ フレームに結合することです。 () 方法。通常、結合は共通列 business_id に対して実行されることが予想されます。ただし、次のコード行を試行すると:

restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')

エラーが発生します:

Exception: columns overlap: Index([business_id, stars, type], dtype=object)

この問題を解決するには、代わりに merge() メソッドを使用して、 on パラメータの共通列。 merge() メソッドは、重複する列を処理し、それに応じてデータ フレームを結合するように設計されています。構文は次のようになります:

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

ここで、how パラメータは実行される結合のタイプを定義します。この場合、両方のデータ フレームのすべての行を結合する完全外部結合を実行する アウター を使用しました。

さらに、suffixes パラメーターを使用して結合された列のサフィックスを指定でき、カスタマイズが可能になります。結果として得られるデータ フレーム内の列名。たとえば、列の末尾に star_restaurant_id および star_restaurant_review を付けるには、次のように使用できます。

<code class="python">pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer', suffixes=('_restaurant_id', '_restaurant_review'))</code>

merge() メソッドは、結合操作をきめ細かく制御できる包括的なパラメータのセットを提供し、効率的かつ効率的な操作を可能にします。正確なデータ フレームの組み合わせ。

以上がPandas データ フレームを「join()」で結合するときに発生する列の重複エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。