根据 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中文网其他相关文章!