微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 为pandas dataframe创建新列的条件要求

我有一个如下数据框:

Name   IDNum      BossNum
John   1          0
Matt   2          1
Mike   3          2
Jack   4          1
@H_502_7@

如何创建一个名为BossName的附加列,如下所示:

预期产出:

Name   IDNum      BossNum     BossName
John   1          0           John/none (I don't care about boss being ided)
Matt   2          1           John
Mike   3          2           Matt
Jack   4          1           John
@H_502_7@

我目前已经尝试过:

df['BossName'] = df['Name'][df['BossNum'] in df['IDNum']]
@H_502_7@

这根本不起作用.关于如何实现这一点的任何想法都会很棒.

解决方法:

您可以创建一个以索引作为IDNum的系列名称,然后使用map:

df['BossName'] = df.BossNum.map(df.set_index('IDNum').Name)
df
@H_502_7@

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐