У меня есть фрейм данных следующим образом:
df = pd.DataFrame({'unique_id':['x','x' , 'y', 'y'], 'chk':[5, 6, -4, -5], 'score':[5.52363, 6.73939, 7.53637, 3.08375]})
Я хочу сгруппировать по столбцу 'unique_id'
и найти максимальное значение в столбце 'score'
и установить максимальное значение как 1, а другие как 0.
Я пытался df['result'] = df.groupby('unique_id').apply(lambda x: [x.score.idxmax()])
Но вместо этого он дает мне нулевые значения. Мой ожидаемый результат -
unique_ID chk score result
x 5 5.52363 0
x 6 6.73939 1
y -4 7.53637 1
y -5 3.08375 0