Erstellen einer neuen Spalte basierend auf Werten aus mehreren Spalten in Pandas
Problem:
Das Ziel besteht darin, eine benutzerdefinierte Funktion anzuwenden, die die Rassenkategorie für jede Zeile eines Datenrahmens basierend auf den Werten in mehreren Ethnizitätsspalten bestimmt. Die Prioritätsreihenfolge für die Rassenkategorien ist:
Benutzerdefinierte Funktion:
Um die Rassenkategorie für jede Zeile zu bestimmen, erstellen wir eine benutzerdefinierte Funktion:
def label_race(row): if row['eri_hispanic'] == 1: return 'Hispanic' if row['eri_afr_amer'] + row['eri_asian'] + row['eri_hawaiian'] + row['eri_nat_amer'] + row['eri_white'] > 1: return 'Two Or More' if row['eri_nat_amer'] == 1: return 'A/I AK Native' if row['eri_asian'] == 1: return 'Asian' if row['eri_afr_amer'] == 1: return 'Black/AA' if row['eri_hawaiian'] == 1: return 'Haw/Pac Isl.' if row['eri_white'] == 1: return 'White' return 'Other'
Anwenden der Funktion auf den Datenrahmen:
Wir verwenden die Apply-Funktion in Pandas, um die benutzerdefinierte Funktion auf jede Zeile des Datenrahmens anzuwenden:
df['race_label'] = df.apply(label_race, axis=1)
Das Argument axis=1 gibt an, dass die Funktion zeilenweise angewendet werden soll.
Ergebnis:
Die neue Spalte „race_label“ enthält die berechnete Rassenkategorie für jede Zeile im Datenrahmen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Rassenkategoriespalte in Pandas mithilfe mehrerer Ethnizitätsspalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!