Maison >développement back-end >Tutoriel Python >Comment créer une nouvelle colonne avec des valeurs basées sur des conditions dans Pandas ?

Comment créer une nouvelle colonne avec des valeurs basées sur des conditions dans Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-22 16:56:10456parcourir

How to Create a New Column with Condition-Based Values in Pandas?

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

Cette question explore comment ajouter une nouvelle colonne, une couleur, à une trame de données donnée. La condition est que la couleur doit être définie sur « vert » si la valeur correspondante dans la colonne Définir est « Z » et « rouge » sinon.

Solution avec Numpy Où :

Pour les scénarios avec seulement deux choix, la méthode np.where peut être utilisée. Voici le code :

df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')

Cette approche attribue efficacement « vert » aux lignes où Set est « Z » et « rouge » sinon.

Solution avec Numpy Select :

Dans les cas où il y a plus de deux conditions, np.select peut être utilisé. Disons que la couleur doit répondre aux critères suivants :

  • 'jaune' lorsque Set est 'Z' et Type est 'A'
  • 'blue' lorsque Set est 'Z' et Type est 'B'
  • 'violet' lorsque le type est 'B'
  • 'noir' sinon

Dans ce scénario, le code serait :

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

Cette solution permet une attribution de valeur flexible et granulaire basée sur des conditions pour la nouvelle colonne.

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