У меня есть pandas DataFrame, в котором хранятся результаты тренировок многих спортсменов. Теперь я хочу сгруппировать данные по BIB # и COURSE, поэтому я пишу:
grupper = df.groupby(['BIB#', 'COURSE'])
Затем я хочу найти два лучших прогона (столбец = 'FINI SH) для каждого 'BIB' и 'COURSE', поэтому я пишу:
x = grupper.apply(lambda x: x.nsmallest(2, 'FINISH'))
Это дает мне следующее:
Результат
Затем я хочу вычислить среднее значение двух лучших пробежек для каждого спортсмена для каждого из BIB и COURSE, но не могу найти подходящего решения. Я попытался применить mean (), как в приведенном ниже коде, но он вычисляет среднее значение для каждого столбца в фрейме данных, и это не то, что я хочу.
x = grupper.apply(lambda x: x.nsmallest(2, 'FINISH')).mean()
Что я могу сделать?