Maison >développement back-end >Tutoriel Python >Comment créer une colonne de catégorie de race dans Pandas en utilisant plusieurs colonnes d'origine ethnique ?

Comment créer une colonne de catégorie de race dans Pandas en utilisant plusieurs colonnes d'origine ethnique ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 05:51:14698parcourir

How to Create a Race Category Column in Pandas Using Multiple Ethnicity Columns?

Création d'une nouvelle colonne basée sur les valeurs de plusieurs colonnes dans Pandas

Problème :

L'objectif est d'appliquer une fonction personnalisée qui détermine la catégorie raciale pour chaque ligne d'un dataframe en fonction des valeurs de plusieurs colonnes d'appartenance ethnique. L'ordre de priorité pour les catégories de courses est :

  • Hispanique
  • Deux ou plus
  • Indien d'Amérique/Autochtone d'Alaska
  • Asiatique
  • Noir/Afro-Américain
  • Natif d'Hawaï/Pacifique Islander
  • Blanc

Fonction personnalisée :

Pour déterminer la catégorie de course pour chaque ligne, nous créons une fonction personnalisée :

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'

Application de la fonction au Dataframe :

Nous utilisons la fonction apply dans Pandas pour appliquer la fonction personnalisée à chaque ligne du dataframe :

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

L'argument axis=1 spécifie que la fonction doit être appliquée par ligne.

Résultat :

La nouvelle colonne race_label contiendra la catégorie de course calculée pour chaque ligne du dataframe.

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