Maison >développement back-end >Tutoriel Python >Comment utiliser NumPy « où » avec plusieurs conditions pour les opérations conditionnelles ?

Comment utiliser NumPy « où » avec plusieurs conditions pour les opérations conditionnelles ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-19 12:59:02550parcourir

How to Use NumPy

Utiliser NumPy "where" avec plusieurs conditions

Lorsque vous travaillez avec des tâches de manipulation de données, il est souvent nécessaire d'appliquer différentes conditions pour sélectionner ou modifier valeurs spécifiques. La fonction "where" de NumPy est un outil puissant pour les opérations conditionnelles, mais par défaut, elle ne gère que deux conditions.

Considérons le cas où vous souhaitez ajouter une nouvelle colonne, "energy_class", à un DataFrame pandas appelé "df_énergie." La classe énergétique doit être attribuée en fonction des conditions suivantes :

  • valeurs "consumption_energy" supérieures à 400 : "élevées"
  • valeurs "consumption_energy" comprises entre 200 et 400 : "moyenne"
  • "consumption_energy" valeurs inférieures ou égales à 200 : "low"

Étant donné que la fonction "where" de NumPy ne prend pas en charge plusieurs conditions, la solution réside dans l'utilisation de sa fonction plus puissante frère, "sélectionner". Voici comment aborder ce problème :

import numpy as np

# Assuming df_energy has a column called "consumption_energy"
col = 'consumption_energy'
conditions = [ df_energy[col] >= 400,
             (df_energy[col] < 400) & (df_energy[col] > 200),
             df_energy[col] <= 200 ]
choices = [ "high", 'medium', 'low' ]

# Create the "energy_class" column using np.select
df_energy["energy_class"] = np.select(conditions, choices, default=np.nan)

Cette utilisation étendue de « select » vous permet de définir plusieurs conditions et de mapper les choix correspondants à la sortie. Par défaut, il attribue "np.nan" si aucune des conditions n'est remplie.

En conséquence, votre DataFrame aura désormais la colonne "energy_class" remplie avec les étiquettes appropriées en fonction de vos conditions spécifiées, à condition une classification claire des niveaux de consommation d'énergie.

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