Предположим, у нас есть фрейм данных:
df = pd.DataFrame({'Animal' : ['Falcon', 'Falcon','Parrot', 'Parrot'],
'Max Speed' : [380.1, 370.3, 24.77, -12.55]})
Я должен построить функцию, аналогичную минимуму по абсолютной величине, он должен вернуть элемент ближе к нулю.Группируя по 'Animal', в нашем случае она должна вернуть:
Animal Max Speed
0 Falcon 370.30
1 Parrot -12.55
Я попробовал такую функцию:
def nearzero():
absolute = [abs(number) for number in data]
i = absolute.index(min(absolute))
return data[i]
Она должна вернуть элемент, найденный в индексе, гдеабсолютное значение минимально.Но это не работает:
df.groupby(['Animal']).agg({'Max Speed': [nearzero]})
Плохо определены функция или группа?