Heim > Backend-Entwicklung > Python-Tutorial > Wie erstelle ich eine neue Rassenklassifizierungsspalte in Pandas basierend auf mehreren Ethnizitätsspalten?

Wie erstelle ich eine neue Rassenklassifizierungsspalte in Pandas basierend auf mehreren Ethnizitätsspalten?

Linda Hamilton
Freigeben: 2024-12-20 02:11:09
Original
200 Leute haben es durchsucht

How to Create a New Race Classification Column in Pandas Based on Multiple Ethnicity Columns?

Erstellen einer neuen Spalte basierend auf Werten aus mehreren Spalten in Pandas

In Pandas ist es möglich, eine neue Spalte basierend auf den Werten zu erstellen Werte, die in mehreren anderen Spalten vorhanden sind. Diese Funktionalität ist nützlich, wenn Sie komplexe Logik oder benutzerdefinierte Funktionen anwenden, um aussagekräftige Erkenntnisse aus den Daten abzuleiten.

Betrachten Sie als anschauliches Beispiel die Aufgabe, eine neue Spalte mit der Bezeichnung „race_label“ basierend auf den Werten in sechs Ethnizitätsspalten zu erstellen : ERI_Hispanic, ERI_AmerInd_AKNatv, ERI_Asian, ERI_Black_Afr.Amer, ERI_HI_PacIsl und ERI_White. Die Anforderung besteht darin, Personen anhand ihrer Rasse anhand der folgenden Kriterien zu klassifizieren:

  1. Wenn die Person als Hispanoamerikaner gezählt wird, wird sie als „Hispanoamerikaner“ eingestuft.
  2. Wenn die Summe von Alle nicht-hispanischen Ethnizitätsflaggen sind größer als 1, sie werden als „Zwei oder mehr“ klassifiziert.
  3. Wenn die Person als Indianer/Alaska gezählt wird Einheimische, sie werden als „A/I AK Native“ klassifiziert.
  4. Wenn die Person als Asiatin gezählt wird, wird sie als „Asiatin“ klassifiziert.
  5. Wenn die Person als Schwarze/Asiatin gezählt wird. Afroamerikaner, sie werden als „Schwarz/AA“ klassifiziert.
  6. Wenn die Person als hawaiianischer/pazifischer Insulaner gilt, wird sie als „Haw/Pac“ klassifiziert Isl.“
  7. Wenn die Person als Weiß gezählt wird, wird sie als „Weiß“ klassifiziert.

Lösung

Um dies zu erreichen Es werden sowohl eine benutzerdefinierte Funktion als auch die Pandas apply()-Funktion verwendet.

  1. Definieren Sie die benutzerdefinierte Funktion 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'
    Nach dem Login kopieren
  2. Anwenden der benutzerdefinierten Funktion mit Pandas:

    df['race_label'] = df.apply(label_race, axis=1)
    Nach dem Login kopieren

Dies wird Erstellen Sie im Pandas-Datenrahmen eine neue Spalte mit dem Namen „race_label“, die die entsprechende Klassifizierung für jede Zeile basierend auf der Eingabe enthält Kriterien.

Durch die Kombination der benutzerdefinierten Funktion und der Pandas apply()-Funktion können wir eine neue Spalte erstellen, die aus komplexer Logik abgeleitet wird, die auf mehrere Spalten angewendet wird, was eine effiziente Datenanalyse und -interpretation erleichtert.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine neue Rassenklassifizierungsspalte in Pandas basierend auf mehreren Ethnizitätsspalten?. 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