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

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

Barbara Streisand
發布: 2024-12-21 07:27:09
原創
674 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板