Kombinieren von Pandas-Datenrahmen: Verbinden in einer gemeinsamen Spalte
Joinder ist eine wesentliche Operation zum Zusammenführen von Datenrahmen basierend auf gemeinsamen Attributen. Diese Frage untersucht das Problem der Kombination zweier Pandas-Datenrahmen: restaurant_ids_dataframe und restaurant_review_frame.
Der Benutzer versucht, die DataFrame.join()-Methode zu verwenden, um einen linken Join mithilfe der Spalte business_id durchzuführen. Aufgrund überlappender Spalten (business_id, Sterne und Typ) tritt jedoch ein Fehler auf. Um dieses Problem zu lösen, können wir stattdessen die Merge-Funktion verwenden:
import pandas as pd
pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')
Der on-Parameter gibt den Feldnamen an, der für die Verknüpfung verwendet wird, während der how-Parameter den Verknüpfungstyp definiert (äußere, innere, links oder rechts). In diesem Fall wird „outer“ für eine Vereinigung von Schlüsseln aus beiden Datenrahmen ausgewählt.
Beachten Sie, dass beide Datenrahmen eine Spalte mit dem Namen „Stars“ enthalten. Standardmäßig fügt der Zusammenführungsvorgang Suffixe an die Spaltennamen an (star_x und star_y). Um diese Suffixe anzupassen, können wir das Schlüsselwortargument „suffixes“ verwenden:
pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer', suffixes=('_restaurant_id', '_restaurant_review'))
Mit dieser Änderung werden die Sternspalten in umbenannt star_restaurant_id und star_restaurant_review. Durch die Nutzung der Zusammenführungsfunktion und die entsprechende Konfiguration des Verbindungstyps und der Spaltensuffixe können wir die beiden Datenrahmen basierend auf ihrer gemeinsamen Spalte „business_id“ erfolgreich kombinieren.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3