具有多個條件的Numpy“where”:解決三個條件
問題描述:
當面對兩個以上的條件時,基於多個條件向資料幀添加新列變得具有挑戰性。給定場景要求根據「conspiration_energy」欄位的值建立具有「高」、「中」或「低」值的「energy_class」欄位。
解:
雖然 numpy.where 只能處理兩個條件,但使用 numpy.select 的巧妙解決方法可以解決這個問題。
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>
範例輸出:
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
default=np.nan 將NaN 值分配給不滿足任何條件的行。您可以自訂它以滿足您的需求。
以上是如何使用具有兩個以上條件的 Numpy'where” 將列新增至 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!