gpt4 book ai didi

python - 如何根据层次结构计算列值

转载 作者:太空狗 更新时间:2023-10-30 00:00:55 25 4
gpt4 key购买 nike

假设我们同意以下层次结构顺序。

婴儿 --> child --> 青少年 --> 成人

我有这个数据集

           Name         Stage  Highest_Stage_Reached
0 Adam Child
1 Barry Child
2 Ben Adult
3 Adam Teenager
4 Barry Adult
5 Ben Baby

我如何让数据集像这样填充 Highest_Stage_Reached 字段?

           Name         Stage  Highest_Stage_Reached
0 Adam Child Teenager
1 Barry Child Adult
2 Ben Adult Adult
3 Adam Teenager Teenager
4 Barry Adult Adult
5 Ben Baby Adult

最佳答案

您可以使用:

d={'Baby':0,'Child':1,'Teenager':2,'Adult':3}
df['rank']=df.Stage.map(d)
df['Highest_Stage_Reached']=df.groupby('Name')['rank'].transform('max').\
map({v: k for k, v in d.items()})
print(df.drop('rank',1))

Name Stage Highest_Stage_Reached
0 Adam Child Teenager
1 Barry Child Adult
2 Ben Adult Adult
3 Adam Teenager Teenager
4 Barry Adult Adult
5 Ben Baby Adult

关于python - 如何根据层次结构计算列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com