Maison >développement back-end >Tutoriel Python >Comment créer une nouvelle colonne d'étiquette de race dans Pandas basée sur plusieurs colonnes existantes ?

Comment créer une nouvelle colonne d'étiquette de race dans Pandas basée sur plusieurs colonnes existantes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-18 20:27:10679parcourir

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

Créer une nouvelle colonne basée sur les valeurs de plusieurs colonnes dans Pandas

Pour créer une nouvelle colonne dans un dataframe Pandas basée sur les valeurs de plusieurs d'autres colonnes, nous pouvons exploiter la fonction apply(). Cette fonction nous permet d'appliquer une fonction personnalisée à chaque ligne du dataframe.

Dans ce cas, nous souhaitons créer une nouvelle colonne avec des étiquettes de race basées sur les critères suivants :

Critères d'étiquette de race :

  • Si la colonne ERI_Hispanic est 1, l'étiquette est "Hispanique."
  • Sinon, si la somme des colonnes ERI restantes est supérieure à 1, l'étiquette est "Deux ou plus".
  • Sinon, si la colonne ERI_AmerInd_AKNatv est 1, l'étiquette est "A/I AK Native."
  • Sinon, si la colonne ERI_Asian est 1, l'étiquette est "Asiatique".
  • Sinon, si la colonne ERI_Black_Afr.Amer est 1, l'étiquette est "Black/AA".
  • Sinon, si la colonne ERI_HI_PacIsl est 1, l'étiquette est "Haw/ Pac Isl."
  • Sinon, si la colonne ERI_White est 1, l'étiquette est "Blanc."

Fonction personnalisée pour l'étiquetage des courses :

Pour définir la fonction personnalisée pour l'étiquetage des courses, nous pouvons utiliser le code suivant :

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'

Application de la fonction personnalisée avec apply() :

Pour appliquer le label_race fonction à chaque ligne du dataframe, nous pouvons utiliser la fonction apply() avec l'argument axis=1, qui spécifie que la fonction doit être appliquée à chaque ligne :

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

Cela créera une nouvelle colonne nommé race_label dans le dataframe avec les étiquettes de race appropriées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn