Допустим, у меня есть следующий фрейм данных
![Orignal dataframe](https://i.stack.imgur.com/UCt7K.png)
Теперь я хочу посчитать, когда у животного есть определенное количество ног ( первое животное с 2 ногами - сокол, паук - первое с 8 ногами, например, sh без ног и лошадь с 4), чтобы получить что-то вроде этого
![Desired dataframe](https://i.stack.imgur.com/mJ6mU.png)
Я думаю, это как-то связано с drop_dplicates (keep = "first") (чтобы получить нужные), однако оттуда я не знаю, как следовать оптимальным образом
Это DDL для фрейма данных
df = pd.DataFrame({
'animal': ['falcon','eagle', 'dog', 'spider', 'fish','horse','cow','ant','worm'],
'num_legs': [2,2,4,8,0,4,4,8,0],
'num_wings': [2,2,0,0,0,0,0,0,0]})