首页 >后端开发 >Python教程 >如何使用多个种族列在 Pandas 中创建种族类别列?

如何使用多个种族列在 Pandas 中创建种族类别列?

Susan Sarandon
Susan Sarandon原创
2024-12-13 05:51:14752浏览

How to Create a Race Category Column in Pandas Using Multiple Ethnicity Columns?

根据 Pandas 中多列的值创建新列

问题:

目标是应用一个自定义函数来确定基于数据帧的每一行的竞赛类别关于几个种族专栏中的价值观。种族类别的优先顺序是:

  • 西班牙裔
  • 两个或更多
  • 美洲印第安人/阿拉斯加原住民
  • 亚洲
  • 黑人/非裔美国人
  • 夏威夷原住民/太平洋人Islander
  • 白色

自定义函数:

为了确定每行的比赛类别,我们创建一个自定义函数:

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

将函数应用到Dataframe:

我们使用 Pandas 中的 apply 函数将自定义函数应用到 dataframe 的每一行:

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

axis=1 参数指定该函数应该是按行应用。

结果:

新列race_label 将包含数据框中每行的计算竞赛类别。

以上是如何使用多个种族列在 Pandas 中创建种族类别列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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