Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich DataFrames in einer Spalte zusammen und behalte dabei die ursprünglichen Informationen in einem DataFrame bei?

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

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 12:50:02352Durchsuche

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'])

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:

  • 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!

Stellungnahme:
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