首頁 >後端開發 >Python教學 >如何根據現有列值在 DataFrame 中建立條件列?

如何根據現有列值在 DataFrame 中建立條件列?

Barbara Streisand
Barbara Streisand原創
2024-12-21 07:27:09677瀏覽

How Can I Create Conditional Columns in a DataFrame Based on Existing Column Values?

根據現有列值建立條件列

在資料分析中,經常需要建立根據條件決定值的新欄位從現有列派生。考慮這樣的場景:您有一個包含兩列的 DataFrame:“類型”和“設定”,並且您想要新增一個名為“顏色”且遵循特定規則的新欄位。

新增顏色列基於設定值

要建立一個“顏色”列,其中如果“設定”為“Z”,則值為“綠色”,否則為“紅色”,您可以使用以下方法:

import numpy as np

df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')

此程式碼使用np.where 函數,該函數根據條件選擇值。如果“設定”列值為“Z”,則“顏色”值變為“綠色”;否則,它會變成“紅色”。

使用 np.select 處理更複雜的條件

對於有多個條件的更複雜場景,可以使用 np.select 。例如,假設您要根據以下規則分配顏色:

  • 如果“Set”為“Z”且“Type”為“A”,則為“黃色”
  • 如果“ Set”是“Z”且“Type”是“B”,則為“藍色”
  • 如果“Type”為“紫色” "B"
  • "black" 否則
conditions = [
    (df['Set'] == 'Z') & (df['Type'] == 'A'),
    (df['Set'] == 'Z') & (df['Type'] == 'B'),
    (df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')

np.select 函數採用條件清單和對應的選擇清單。如果滿足條件,則選擇相關選項;否則,使用預設值。

這些方法提供了多種選項,用於根據現有列值建立條件列,使您能夠有效地操作和分析資料。

以上是如何根據現有列值在 DataFrame 中建立條件列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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