栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-pandas根据其他列的值创建新列/逐行应用多列的功能

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-pandas根据其他列的值创建新列/逐行应用多列的功能

好的,执行此步骤有两个步骤-首先是编写一个可以执行所需翻译的函数-我已根据你的伪代码将一个示例放在一起:

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'

你可能想要解决这个问题,但这似乎可以解决问题-请注意,进入函数的参数被认为是一个标有“行”的

Series
对象。

接下来,在熊猫中使用apply函数来应用该函数-例如

df.apply (lambda row: label_race(row), axis=1)

请注意axis = 1说明符,这意味着应用程序是在行而不是列级别完成的。结果在这里:

0White1        Hispanic2White3White4Other5White6     Two Or More7White8    Haw/Pac Isl.9White

如果你对这些结果感到满意,请再次运行它,将结果保存到原始数据框中的新列中。

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

结果数据框如下所示(向右滚动以查看新列):

      lname   fname rno_cd  eri_afr_amer  eri_asian  eri_hawaiian   eri_hispanic  eri_nat_amer  eri_white rno_defined    race_label0      MOST    JEFF      E  0          0  0   0  0          1       White         White1    CRUISE     TOM      E  0          0  0   1  0          0       White      Hispanic2      DEPP  JOHNNY    NaN  0          0  0   0  0          1     Unknown         White3     DICAP     LEO    NaN  0          0  0   0  0          1     Unknown         White4    BRANDO  MARLON      E  0          0  0   0  0          0       White         Other5     HANKS     TOM    NaN  0          0  0   0  0          1     Unknown         White6    DENIRO  ROBERT      E  0          1  0   0  0          1       White   Two Or More7    PACINO      AL      E  0          0  0   0  0          1       White         White8  WILLIAMS   ROBIN      E  0          0  1   0  0          0       White  Haw/Pac Isl.9  EASTWOOD   CLINT      E  0          0  0   0  0          1       White         White


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号