Wie kombiniere ich Pandas-DataFrames mit überlappenden Spalten?

Linda Hamilton
Freigeben: 2024-10-25 03:23:02
Original
895 Leute haben es durchsucht

How to Combine Pandas DataFrames with Overlapping Columns?

So kombinieren Sie Pandas-Datenrahmen basierend auf einer freigegebenen Spalte

Problem:

Beim Versuch, zwei Pandas-Daten zu kombinieren Bei Verwendung der Methode DataFrame.join() ist ein Fehler aufgetreten: „Spalten überlappen.“

Datenrahmen:

  • restaurant_ids_dataframe: Enthält Informationen zum Restaurant IDs, Kategorien, Adressen usw.
  • restaurant_review_frame: Enthält Bewertungsdaten wie Datum, Sterne, Benutzer-IDs usw.

Versuchter Code:

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

Fehler:

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

Lösung:

Um den Fehler zu beheben und die Datenrahmen zu kombinieren, verwenden Sie die merge()-Methode anstelle von join():

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

Standardmäßig verwendet merge() einen Outer-Join, der alle Zeilen aus beiden Datenrahmen kombiniert. Das on-Argument gibt die Spalte an, die zum Durchführen des Zusammenführungsvorgangs verwendet wird.

Suffixe für überlappende Spalten:

Da beide Datenrahmen eine Spalte mit dem Namen Sterne haben, ist der zusammengeführte Datenrahmen enthält zwei Spalten: stars_x und stars_y. Um diese Suffixe anzupassen, verwenden Sie das Suffix-Argument:

<code class="python">result = pd.merge(..., suffixes=('_restaurant_id', '_restaurant_review'))</code>
Nach dem Login kopieren

Dadurch werden die Sternenspalten im zusammengeführten Datenrahmen in „stars_restaurant_id“ und „stars_restaurant_review“ umbenannt.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich Pandas-DataFrames mit überlappenden Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!