首頁 >後端開發 >Python教學 >如何在多個條件下使用 NumPy'where”?

如何在多個條件下使用 NumPy'where”?

Susan Sarandon
Susan Sarandon原創
2024-10-19 12:59:29715瀏覽

How to Use NumPy

具有多個條件的Numpy "where"

在資料分析中,經常需要定義自訂條件並分配相應的不同條件基於這些條件的值。 Numpy 的「where」函數可以用來處理這類場景。然而,在處理多種條件時,就會出現挑戰。

一個具體案例是嘗試將新欄位「energy_class」加入資料框「df_energy」。 “energy_class”值根據以下條件分配:

  • 如果“conspiration_energy”值大於400,則為“high”
  • 如果“conspiration_energy”值大於400,則為“medium”介於200 到400 之間
  • 如果「conspiration_energy」值小於200,則為「low」

遇到的問題是np.where 函數通常只支援兩個條件。

為了解決這個問題,可以使用 numpy 的「select」函數。以下是一個範例:

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

此程式碼片段使用「np.select」來評估多個條件並從對應的「選擇」清單中指派值。 “default”參數用於處理任何不符合指定條件的情況。

以上是如何在多個條件下使用 NumPy'where”?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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