Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich in Pandas eine neue Rassenbeschriftungsspalte basierend auf mehreren vorhandenen Spalten?

Wie erstelle ich in Pandas eine neue Rassenbeschriftungsspalte basierend auf mehreren vorhandenen Spalten?

Susan Sarandon
Susan SarandonOriginal
2024-12-18 20:27:10677Durchsuche

How to Create a New Race Label Column in Pandas Based on Multiple Existing Columns?

Erstellen Sie eine neue Spalte basierend auf Werten aus mehreren Spalten in Pandas

So erstellen Sie eine neue Spalte in einem Pandas-Datenrahmen basierend auf Werten aus mehreren Für andere Spalten können wir die Funktion apply() nutzen. Mit dieser Funktion können wir eine benutzerdefinierte Funktion auf jede Zeile des Datenrahmens anwenden.

In diesem Fall möchten wir eine neue Spalte mit Rassenbezeichnungen basierend auf den folgenden Kriterien erstellen:

Rasse-Label-Kriterien:

  • Wenn die Spalte ERI_Hispanic 1 ist, ist das Label „Hispanisch.“
  • Andernfalls, wenn die Summe der verbleibenden ERI-Spalten größer als 1 ist, lautet die Beschriftung „Zwei oder mehr.“
  • Andernfalls, wenn die Spalte ERI_AmerInd_AKNatv 1 ist, lautet die Beschriftung „A/I AK Native.“
  • Andernfalls, wenn die Spalte ERI_Asian 1 ist, lautet die Bezeichnung „Asiatisch.“
  • Andernfalls, wenn die Spalte ERI_Black_Afr.Amer 1 ist, lautet die Beschriftung „Black/AA.“
  • Andernfalls, wenn die Spalte ERI_HI_PacIsl 1 ist, lautet die Beschriftung „Haw/Pac Isl."
  • Andernfalls, wenn die Spalte ERI_White 1 ist, lautet die Bezeichnung „Weiß.“

Benutzerdefinierte Funktion für die Rennbeschriftung:

Um die benutzerdefinierte Funktion für die Rennbeschriftung zu definieren, können wir den folgenden Code verwenden:

def label_race(row):
   if row['ERI_Hispanic'] == 1:
      return 'Hispanic'
   if row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1:
      return 'Two Or More'
   if row['ERI_AmerInd_AKNatv'] == 1:
      return 'A/I AK Native'
   if row['ERI_Asian'] == 1:
      return 'Asian'
   if row['ERI_Black_Afr.Amer'] == 1:
      return 'Black/AA'
   if row['ERI_HI_PacIsl'] == 1:
      return 'Haw/Pac Isl.'
   if row['ERI_White'] == 1:
      return 'White'
   return 'Other'

Anwenden der benutzerdefinierten Funktion mit apply():

So wenden Sie die Funktion label_race an Auf jede Zeile des Datenrahmens können wir die Funktion apply() mit dem Argument axis=1 verwenden, das angibt, dass die Funktion auf jede Zeile angewendet werden soll:

df['race_label'] = df.apply(label_race, axis=1)

Dadurch wird eine neue Spalte mit dem Namen erstellt Race_label im Datenrahmen mit den entsprechenden Rennbezeichnungen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich in Pandas eine neue Rassenbeschriftungsspalte basierend auf mehreren vorhandenen Spalten?. 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