根據Pandas 中多個列的值建立新欄位
根據多個Pandas 中的值在Pandas 資料框中建立新列其他列,我們可以利用apply() 函數。此函數允許我們將自訂函數應用於資料幀的每一行。
在這種情況下,我們希望根據以下條件建立一個帶有種族標籤的新欄位:
種族標籤標準:
種族標籤的自訂函數:
要定義種族標籤的自訂函數,我們可以使用以下程式碼:
def label_race(row): if row['ERI_Hispanic'] == 1: return 'Hispanic' if row['ERI_AmerInd_AKNatv'] + row['ERI_Asian'] + row['ERI_Black_Afr.Amer'] + row['ERI_HI_PacIsl'] + row['ERI_White'] > 1: return 'Two Or More' if row['ERI_AmerInd_AKNatv'] == 1: return 'A/I AK Native' if row['ERI_Asian'] == 1: return 'Asian' if row['ERI_Black_Afr.Amer'] == 1: return 'Black/AA' if row['ERI_HI_PacIsl'] == 1: return 'Haw/Pac Isl.' if row['ERI_White'] == 1: return 'White' return 'Other'
應用自訂函數apply():
要將label_race 函數應用於資料幀的每一行,我們可以使用帶有axis=1 參數的apply( )函數,函數指定函數應應用於每行row:
df['race_label'] = df.apply(label_race, axis=1)
這將在資料框中建立名為race_label 的新列,並帶有適當的比賽標籤。
以上是如何基於多個現有列在 Pandas 中建立新的種族標籤列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!