首頁 >後端開發 >Python教學 >如何使用 Python 在 DataFrame 中建立基於多個條件的條件列?

如何使用 Python 在 DataFrame 中建立基於多個條件的條件列?

Linda Hamilton
Linda Hamilton原創
2024-10-20 06:52:02766瀏覽

How to Create a Conditional Column Based on Multiple Conditions in a DataFrame Using Python?

根據多個條件建立條件列

如給定執行緒所述,目前的任務是在基於特定條件的 DataFrame。 DataFrame 包含兩列“A”和“B”,並應根據“A”和“B”之間的比較來為所需列“C”指派值。

條件如下:

  • 如果 'A' 等於 'B',則將 'C' 設為 0。
  • 如果 'A' 大於 'B',則將 'C' 設為 1。
  • 如果 'A' 小於 'B',則將 'C' 設為 -1。

要完成此操作,可以建立一個 Python 函數來評估條件並指派為 DataFrame 中的每一行設定適當的值「C」。 apply() 方法可用於將函數應用於每一行,傳入 'axis=1' 參數以指定函數應對行進行操作。下面的程式碼示範了這種方法:

<code class="python">def conditional_value(row):
    if row['A'] == row['B']:
        return 0
    elif row['A'] > row['B']:
        return 1
    else:
        return -1

df['C'] = df.apply(conditional_value, axis=1)</code>

這種基於函數的方法提供了一種可讀且可自訂的方式來建立條件列。

或者,為了在大型資料集上獲得更好的效能,可以使用向量化方法可以使用運算:

<code class="python">df['C'] = np.where(
    df['A'] == df['B'], 0, np.where(
    df['A'] > df['B'], 1, -1))</code>

這裡使用np.where()函數來評估條件並有效率地將相應的值賦給'C'。

以上是如何使用 Python 在 DataFrame 中建立基於多個條件的條件列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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