Wie füge ich DataFrames in einer Spalte zusammen und behalte dabei die ursprünglichen Informationen in einem DataFrame bei?

Barbara Streisand
Freigeben: 2024-11-01 12:50:02
Original
370 Leute haben es durchsucht

How to Merge DataFrames on a Column While Preserving the Initial Information in One DataFrame?

Datenrahmen in einer Spalte zusammenführen und dabei die ursprünglichen Informationen beibehalten

Obwohl Sie die Zusammenführungsfunktion von Pandas verwenden, haben Sie Schwierigkeiten beim Zusammenführen der Datenrahmen df1 und df2 in der Spalte „Name“ unter Beibehaltung der df1-Informationen.

Problem:

In Ihrem Zusammenführungsvorgang:
df1 = pd.merge(df1, df2, on = 'Name', how = 'outer')

Sie führen einen Outer-Join durch, der Personen aus beiden Datenrahmen umfasst. Dies führt dazu, dass Personen aus df2 in df1 einbezogen werden, auch wenn sie ursprünglich nicht in df1 erscheinen.

Lösung:

Um dieses Problem zu beheben, können Sie eines verwenden der folgenden Methoden:

Methode 1: Verwenden der von set_index erstellten Karte nach Serie:

df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])
Nach dem Login kopieren

Dieser Ansatz erstellt eine Serie mit „Name“ als Index von df2s „Sex“-Kolumne. Anschließend wird die Spalte „Name“ von df1 dieser Serie zugeordnet, um die passenden „Geschlecht“-Werte zuzuweisen. Fehlende Werte werden behoben, indem sie auf NaN gesetzt werden.

Methode 2: Durchführen eines Links-Joins:

df = df1.merge(df2[['Name','Sex']], on='Name', how='left')
Nach dem Login kopieren

Ein Links-Join stellt sicher, dass Personen aus df1 priorisiert werden, mit fehlenden Werten, die mit NaN aufgefüllt werden, wenn sie nicht in df2 vorhanden sind.

Überlegungen:

  • Mehrere Zusammenführungsspalten: Bei Zusammenführung Wenn Sie mehrere Spalten haben, geben Sie diese im Parameter „on“ an, z. B. on=['Year','Code'].
  • Doppelte Werte: Doppelte Zusammenführungsspaltenwerte können Probleme verursachen. Ziehen Sie in Betracht, Duplikate vor dem Zusammenführen zu entfernen oder die Karte mithilfe eines Wörterbuchs zu verwenden, um den entsprechenden Wert auszuwählen.

Das obige ist der detaillierte Inhalt vonWie füge ich DataFrames in einer Spalte zusammen und behalte dabei die ursprünglichen Informationen in einem DataFrame bei?. 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!