I'm trying to do a Pandas Groupby that counts the distinct value of the group by column and then uses that name to create a NamedAgg column with that name. For example:
animals = pd.DataFrame({'kind': ['cat', 'dog', 'cat', 'dog'],'color': ['red', 'black', 'red', 'yellow']})
animals
kind.     color
cat.      red
dog.      black
cat.      red
dog.      yellow
I tried using this code:
animals.groupby('kind').agg(
red=(animals['color']=='red', 'count'),
black=(animals['color']=='black', 'count'),
yellow=(animals['color']=='yellow', 'count'))
I wanted to get this result:
kind.     red.      black.      yellow
cat.       2
dog.                  1.         1
I researched and tried everything
