Group df by animal and keep only the rows belonging to groups whose
total visits exceeds 5, dropping every row from groups that don't meet this
condition. Return the filtered DataFrame with its original columns and index.
Sample data:
df:
animal age visits priority
a cat 2.5 1 yes
b cat 3.0 3 yes
c snake 0.5 2 no
d dog NaN 3 yes
e dog 5.0 2 no
f cat 2.0 3 no
... (10 rows total)
solve(...)