Heim > Artikel > Backend-Entwicklung > Wie füge ich DataFrames in einer Spalte zusammen und behalte dabei die ursprünglichen Informationen in einem DataFrame bei?
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'])
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')
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:
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!