首页 >后端开发 >Python教程 >如何根据多列的条件逻辑在 Pandas 中创建新列?

如何根据多列的条件逻辑在 Pandas 中创建新列?

Barbara Streisand
Barbara Streisand原创
2024-12-10 19:30:12228浏览

How to Create a New Column in Pandas Based on Conditional Logic Across Multiple Columns?

根据多列中的条件标准创建新列

要根据多列中的条件标准创建新列,请应用您的自定义使用 apply() 方法对 DataFrame 中的所有行执行函数。

import pandas as pd

def label_race(row):
    if row['eri_hispanic'] == 1:
        return 'Hispanic'
    elif row['eri_afr_amer'] + row['eri_asian'] + row['eri_hawaiian'] + row['eri_nat_amer'] + row['eri_white'] > 1:
        return 'Two Or More'
    elif row['eri_nat_amer'] == 1:
        return 'A/I AK Native'
    elif row['eri_asian'] == 1:
        return 'Asian'
    elif row['eri_afr_amer'] == 1:
        return 'Black/AA'
    elif row['eri_hawaiian'] == 1:
        return 'Haw/Pac Isl.'
    elif row['eri_white'] == 1:
        return 'White'
    else:
        return 'Other'

df['race_label'] = df.apply(label_race, axis=1)

结果DataFrame 将包含新列 race_label,以及基于您指定的条件的相应比赛标签。

以上是如何根据多列的条件逻辑在 Pandas 中创建新列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn