Maison > développement back-end > Tutoriel Python > Comment créer une nouvelle colonne basée sur les conditions d'une colonne existante à l'aide de Python ?

Comment créer une nouvelle colonne basée sur les conditions d'une colonne existante à l'aide de Python ?

Barbara Streisand
Libérer: 2024-12-30 05:18:21
original
661 Les gens l'ont consulté

How to Create a New Column Based on Conditions in an Existing Column Using Python?

Création d'une nouvelle colonne avec des valeurs basées sur une colonne existante

Dans certains scénarios d'analyse de données, vous devrez peut-être créer une nouvelle colonne dans laquelle les valeurs sont sélectionnées en fonction de conditions spécifiques dans une colonne existante. Ceci peut être réalisé en utilisant différentes méthodes en Python, en fonction du nombre de conditions à vérifier.

Scénarios à deux choix avec np.where

Si vous n'en avez que deux choix parmi lesquels choisir, la fonction numpy np.where peut être utilisée efficacement. Il prend la forme suivante :

df['new_column'] = np.where(condition, value_if_true, value_if_false)
Copier après la connexion

où 'df' est la dataframe, 'condition' est une expression booléenne qui définit la condition, 'value_if_true' est la valeur à attribuer si la condition est True, et 'value_if_false' est la valeur à attribuer si la condition est False.

Par exemple, pour créer une colonne 'color' dans le cadre de données fourni où « couleur » est « vert » si « Set » est « Z » et « rouge » sinon, vous pouvez utiliser :

df['color'] = np.where(df['Set']=='Z', 'green', 'red')
Copier après la connexion

Conditions multiples avec np.select

Si vous avez plus de deux conditions à vérifier, la fonction numpy np.select peut être utilisée. Cela permet une logique conditionnelle plus complexe. Le format est le suivant :

df['new_column'] = np.select(conditions, choices, default=None)
Copier après la connexion

où 'conditions' est une liste d'expressions booléennes, 'choices' est une liste de valeurs correspondant à chaque condition, et 'default' est la valeur à attribuer si aucune des conditions n'est remplie.

Par exemple, si la « couleur » doit être attribuée à « jaune » lorsque ('Set' == 'Z') & ('Type' == 'A'), 'bleu' quand ('Set' == 'Z') & ('Type' == 'B') et 'violet' quand juste ('Type' == ' B'), et 'noir' sinon, vous pouvez utiliser :

conditions = [
    (df['Set'] == 'Z') & (df['Type'] == 'A'),
    (df['Set'] == 'Z') & (df['Type'] == 'B'),
    (df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
Copier après la connexion

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