Un groupby por sí solo no regresa una tabla normal.

Arrastra en el orden correcto los pasos para agrupar y volver el resultado a columnas normales.

1print(conteo)
2conteo = df.groupby('categoria').size()
3conteo = conteo.reset_index(name="cuantos")