首頁  >  文章  >  後端開發  >  如何使用 NumPy 的「np.select」在陣列中套用多個條件?

如何使用 NumPy 的「np.select」在陣列中套用多個條件?

Susan Sarandon
Susan Sarandon原創
2024-10-19 12:57:02442瀏覽

How to Apply Multiple Conditions in Arrays Using NumPy's

使用Numpy 的「where」應用多個條件

使用NumPy 的「where」函數可以成為有條件選擇數組中元素的強大工具基於具體標準。然而,「where」的標準實作僅允許兩個條件具有相應的輸出。在處理涉及多個條件的場景時,這可能會成為一個限制。

為了解決這個問題,更通用的解決方案是使用「np.select」函數。 「np.select」允許同時評估多個條件並分配相應的輸出。讓我們探討如何將其應用於根據消耗能源值將能源類別分配給 DataFrame 的問題。

實作:

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)

此程式碼建立了三個基於'conspiration_energy' 欄位中的值的條件:

  1. ' conspiration_energy' >= 400:將此條件指定為'high'。
  2. 'conspiration_energy'
  3. 第400章200:將此條件指定為「中」。
  4. 「conspiration_energy」

    「np.select」函數評估每個條件,如果滿足任何條件,它會從「選擇」清單中分配相應的輸出。如果沒有滿足任何條件,它將指定“nan”作為預設值。

    輸出:

      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

    透過利用“np.select”,我們已根據指定條件成功將能量類別分配給DataFrame,提供了在選擇數組中的元素時處理多個條件的通用方法。

以上是如何使用 NumPy 的「np.select」在陣列中套用多個條件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn