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

Patricia Arquette
リリース: 2024-10-27 06:07:03
オリジナル
214 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!