创建具有最大值 (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
我有以下数据框,我想创建一个显示 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