Comment ajouter une colonne à un DataFrame à l'aide de Numpy « où » avec plus de deux conditions ?

Mary-Kate Olsen
Libérer: 2024-10-19 13:02:02
original
392 Les gens l'ont consulté

How to Add a Column to a DataFrame Using Numpy

Numpy "où" avec plusieurs conditions : répondre à trois conditions

Description du problème :

L'ajout d'une nouvelle colonne à un dataframe basé sur plusieurs conditions devient difficile lorsque l'on est confronté à plus de deux conditions. Le scénario donné nécessite la création d'une colonne « energy_class » avec des valeurs « élevées », « moyennes » ou « faibles » basées sur les valeurs de la colonne « consumption_energy ».

Solution :

Bien que numpy.where ne puisse gérer que deux conditions, une solution de contournement intelligente utilisant numpy.select résout le problème.

Code Python :

<code class="python"># Define column and conditions
col = 'consumption_energy'
conditions = [df2[col] >= 400, (df2[col] < 400) & (df2[col] > 200), df2[col] <= 200]

# Define choices for conditions
choices = ["high", 'medium', 'low']

# Add "energy_class" column with np.select
df2["energy_class"] = np.select(conditions, choices, default=np.nan)</code>
Copier après la connexion

Exemple de résultat :

  consumption_energy energy_class
0                 459         high
1                 416         high
2                 186          low
3                 250       medium
4                 411         high
5                 210       medium
6                 343       medium
7                 328       medium
8                 208       medium
9                 223       medium
Copier après la connexion

Remarque supplémentaire :

default=np.nan attribue des valeurs NaN aux lignes qui ne remplissent aucune condition . Vous pouvez le personnaliser en fonction de vos besoins.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!