問題:
2 つの pandas データを結合しようとするときDataFrame.join() メソッドを使用してフレームを作成すると、エラーが発生します:「列が重複しています。」
Data Frames:
試行されたコード:
<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 サイトの他の関連記事を参照してください。