创建具有最大值 (A-Z) 的列

Create a column with maximum value (A-Z)

我有以下数据框,我想创建一个显示 ID 最高分的新列。分数来自 A-Z。 A = 低分,Z = 高分。

ID Score
001 A
001 B
001 C
002 A
002 A
A003 E
A003 G
A003 G

输出

ID Score New Column
001 A C
001 B C
001 C C
002 A A
002 A A
A003 E G
A003 G G
A003 G G

有什么方法可以轻松做到这一点吗?

ID 分组并按 max 转换:

df['New Column'] = df.groupby('ID').transform('max')

输出:

>>> df
     ID Score New Column
0   001     A          C
1   001     B          C
2   001     C          C
3   002     A          A
4   002     A          A
5  A003     E          G
6  A003     G          G
7  A003     G          G