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
Libérer: 2024-12-18 20:27:10
original
681 Les gens l'ont consulté

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'
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal