数据框:
STUD_ID CLASS GRADE CATEGORY
1 'Sci' max 'Alpha'
2 'Sci' 7 'Omega'
3 'Sci' 9 'Alpha'
4 'Sci' 3 'Alpha'
5 'Sci' 9 'Alpha'
7 'eng' max 'Gamma'
8 'eng' 5 'Gamma'
9 'eng' 3 'Epsilon'
10 'Art' 3 'Lambda'
11 'Art' 8 'Lambda'
12 'Art' max undefined
13 'Art' 1 undefined
14 'Art' 5 undefined
我想创建一个新的列名为CATEGORY_1,将GRADE最高的每个CLASS组中的CATEGORY值进行广播。请参见下面的结果df。
STUD_ID CLASS GRADE CATEGORY CATEGORY_1
1 'Sci' max 'Alpha' . 'Alpha'
2 'Sci' 7 'Omega' . 'Alpha'
3 'Sci' 9 'Alpha' . 'Alpha'
4 'Sci' 3 'Alpha' . 'Alpha'
5 'Sci' 9 'Alpha' . 'Alpha'
7 'eng' max 'Gamma' . 'Gamma'
8 'eng' 5 'Gamma' . 'Gamma'
9 'eng' 3 'Epsilon' 'Gamma'
10 'Art' 3 'Lambda' . undefined
11 'Art' 8 'Lambda' . undefined
12 'Art' max undefined . undefined
13 'Art' 1 undefined . undefined
14 'Art' 5 undefined . undefined
我尝试过使用 groupby + transform,但是我无法想出该如何仅广播分类(CATEGORY)值,其中等级(GRADE)最大。