If you only need the counts, then CountsBy
is the way to go:
CountsBy[Range[100], EvenQ]
You can also do it with the 3rd argument of GroupBy
:
GroupBy[Range[100], EvenQ, Length]
If you want the results in a list in a particular order (say, even then odd), you can use Lookup
:
Lookup[CountsBy[Range[100], EvenQ], {True, False}, 0]