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
Barbara Streisandoriginal
2024-12-30 05:18:21652parcourir

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)

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')

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)

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')

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