我有一个问题,我需要根据他们完成的不同学位为特定候选人选择最高学位。要选择最高学位,应遵循以下顺序:

PHD>MBA>硕士>学士>其他

PHD 优先级最高,其他最低

数据框如下所示:

ID  Degree
1   Bachelors
1   Masters
1   PHD
2   Bachelors
2   Others
3   PHD
3   Masters

输出应该是这样的:
ID Degree
1  PHD
2  Bachelors
3  PHD

我什至不知道如何从这个要求开始,因此无法在此处添加任何代码片段。

最佳答案

如果我理解正确,我们做 Categorical ,然后 sort_values + drop_duplicates :

df.Degree = pd.Categorical(df.Degree, ordered=True,
                   categories='PHD>MBA>Masters>Bachelors>Others'.split('>')[::-1])
Yourdf=df.sort_values('Degree').drop_duplicates('ID',keep='last')
   ID     Degree
3   2  Bachelors
2   1        PHD
5   3        PHD

关于python - Pandas 提取最高程度的资格基础重要性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60041948/

10-15 18:00