首頁  >  文章  >  後端開發  >  如何使用具有兩個以上條件的 Numpy“where” 將列新增至 DataFrame?

如何使用具有兩個以上條件的 Numpy“where” 將列新增至 DataFrame?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-19 13:02:02392瀏覽

How to Add a Column to a DataFrame Using Numpy

具有多個條件的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中文網其他相關文章!

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