首頁 >後端開發 >Python教學 >如何根據現有列的值在 Pandas 中建立新列?

如何根據現有列的值在 Pandas 中建立新列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-27 21:14:14680瀏覽

How Can I Create a New Column in Pandas Based on Values from an Existing Column?

使用從現有列中選擇的值建立新列

從現有列中選擇特定值來填入新列是常見的資料操作任務。讓我們來探索使用 Pandas 在 Python 中實現此目的的兩種方法。

方法 1:np.where 用於兩個選擇

當只有兩個選項可供選擇時, np.where 函數是一個方便的選擇。在提供的範例中,我們希望為 Set 列中等於“Z”和“紅色”的值建立一個帶有“綠色”的顏色列。

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

方法 2:np .select 用於多項選擇

對於有兩個以上選擇的場景,np.select 提供了更大的靈活性。讓我們介紹一下顏色列的更多條件:

  • 'yellow' for when (df['Set'] == 'Z') & (df['Type'] == 'A ')
  • 'blue' 表示當(df['Set'] == 'Z') & (df['Type'] == 'B')
  • '紫色' 表示(df['Type'] == 'B')
  • '黑色' 表示所有其他情況

該場景的程式碼如下:

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')

這種方法可以輕鬆自訂要選擇的條件和值,使得適合更複雜的場景。

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

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