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