Home  >  Article  >  Backend Development  >  How to Apply Multiple Conditions in Arrays Using NumPy\'s \"np.select\"?

How to Apply Multiple Conditions in Arrays Using NumPy\'s \"np.select\"?

Susan Sarandon
Susan SarandonOriginal
2024-10-19 12:57:02440browse

How to Apply Multiple Conditions in Arrays Using NumPy's

Applying Multiple Conditions with Numpy's "where"

Using NumPy's "where" function can be a powerful tool for conditionally selecting elements in an array based on specific criteria. However, the standard implementation of "where" only allows for two conditions with a corresponding output. This can become a limitation when dealing with scenarios involving multiple conditions.

To address this issue, a more versatile solution is to use the "np.select" function. "np.select" allows for the evaluation of multiple conditions simultaneously and the assignment of corresponding outputs. Let's explore how this can be applied to the problem of assigning energy classes to a DataFrame based on consumption energy values.

Implementation:

col = 'consumption_energy'
conditions = [ df['consumption_energy'] >= 400, (df['consumption_energy'] < 400) & (df['consumption_energy']> 200), df['consumption_energy'] <= 200 ]
choices = [ "high", 'medium', 'low' ]    
df['energy_class'] = np.select(conditions, choices, default=np.nan)

This code creates three conditions based on the values in the 'consumption_energy' column:

  1. 'consumption_energy' >= 400: Assigns 'high' to this condition.
  2. 'consumption_energy' < 400 and 'consumption_energy' > 200: Assigns 'medium' to this condition.
  3. 'consumption_energy' <= 200: Assigns 'low' to this condition.
  4. The "np.select" function evaluates each condition, and if any condition is met, it assigns the corresponding output from the "choices" list. If none of the conditions are met, it assigns 'nan' as the default value.

    Output:

      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

    By utilizing "np.select," we have successfully assigned energy classes to the DataFrame based on the specified conditions, offering a versatile way to handle multiple conditions when selecting elements in an array.

    The above is the detailed content of How to Apply Multiple Conditions in Arrays Using NumPy\'s \"np.select\"?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn