根據現有列值建立條件列
在資料分析中,經常需要建立根據條件決定值的新欄位從現有列派生。考慮這樣的場景:您有一個包含兩列的 DataFrame:“類型”和“設定”,並且您想要新增一個名為“顏色”且遵循特定規則的新欄位。
新增顏色列基於設定值
要建立一個“顏色”列,其中如果“設定”為“Z”,則值為“綠色”,否則為“紅色”,您可以使用以下方法:
import numpy as np df['color'] = np.where(df['Set'] == 'Z', 'green', 'red')
此程式碼使用np.where 函數,該函數根據條件選擇值。如果“設定”列值為“Z”,則“顏色”值變為“綠色”;否則,它會變成“紅色”。
使用 np.select 處理更複雜的條件
對於有多個條件的更複雜場景,可以使用 np.select 。例如,假設您要根據以下規則分配顏色:
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中文網其他相關文章!