Maison >développement back-end >Tutoriel Python >Comment ajouter une colonne à un DataFrame à l'aide de Numpy « où » avec plus de deux conditions ?
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>
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
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!