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 :
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!