У меня есть DataFrame, подобный следующему:
df = pd.DataFrame({'id':['pt1','px1','t95','sx1','dc4','px5'],
'group':['f7','f7', 'f7','f8','f8','f8'],
'score':['2','3.3','4','8','4.9','6']})
Я хочу добавить еще один столбец и рассчитать разницу между каждой оценкой в каждой группе с максимальной оценкой этой группы.Ожидаемый результат будет:
group id score score_diff
f7 pt1 2 -2
f7 px1 3.3 -.7
f7 t95 4 0
f8 sx1 8 0
f8 dc4 4.9 -3.1
f8 px5 6 -2
Буду признателен, если вы могли бы помочь.Я хочу запустить код на 2000+ записей.Ниже приведен мой код, но он дает мне разницу по сравнению с предыдущей записью в каждой группе.тем не менее, я хочу рассчитать разницу в баллах от максимальной оценки в каждой группе.
result = df.groupby(['fk'])['score'].diff()