ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame と重複する列を結合するには?

Pandas DataFrame と重複する列を結合するには?

Linda Hamilton
リリース: 2024-10-25 03:23:02
オリジナル
988 人が閲覧しました

How to Combine Pandas DataFrames with Overlapping Columns?

共有列に基づいて Pandas データ フレームを結合する方法

問題:

2 つの pandas データを結合しようとするときDataFrame.join() メソッドを使用してフレームを作成すると、エラーが発生します:「列が重複しています。」

Data Frames:

  • 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>
ログイン後にコピー

解決策:

エラーを解決してデータ フレームを結合するには、 join() の代わりに merge() メソッド:

<code class="python">import pandas as pd
result = pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>
ログイン後にコピー

デフォルトでは、merge() は両方のデータ フレームのすべての行を結合する外部結合を使用します。 on 引数は、マージ操作の実行に使用される列を指定します。

重複する列のサフィックス:

両方のデータ フレームに star という名前の列があるため、マージされたデータ フレームはには、stars_x と star_y の 2 つの列が含まれます。これらのサフィックスをカスタマイズするには、suffixes 引数を使用します。

<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>
ログイン後にコピー

これにより、マージされたデータ フレーム内のstars 列の名前がstars_restaurant_id およびstars_restaurant_reviewに変更されます。

以上がPandas DataFrame と重複する列を結合するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート