Concepto
Un informe rara vez pide un solo número por grupo: quiere el total, el promedio y la cantidad de ventas de cada categoría, juntos en una tabla. agg calcula varios resúmenes en un solo paso.
df.groupby("grupo")["columna"].agg(["sum", "mean", "count"])Varias funciones sobre una columna. Con una lista de nombres de funciones, agg devuelve un DataFrame: una fila por grupo y una columna por función.
notas = encuesta.groupby("canal")["calificacion"].agg(["mean", "min", "count"])Leer un valor. Con loc, la etiqueta del grupo y el nombre de la columna.
notas.loc["web", "min"]Columnas con nombre propio. Cuando resumes columnas distintas, o quieres nombres claros para el informe, escribe cada columna nueva como nombre=("columna", "función"). Es la forma más legible y la que más se usa en el trabajo real.
encuesta.groupby("canal").agg(
respuestas=("respondent_id", "count"),
nota_promedio=("calificacion", "mean"),
edad_promedio=("edad", "mean"),
)Los grupos como columna. Por defecto, los grupos quedan en el índice. Con groupby(..., as_index=False) quedan como una columna normal, lo que sirve cuando después vas a exportar la tabla o combinarla con otra.
> tarea Python
Con ventas ya cargada: guarda en resumen_categoria la suma, el promedio y la cantidad de montos de cada categoría, usando agg con la lista ["sum", "mean", "count"]. Guarda en promedio_hogar el promedio de la categoría hogar. Después crea informe_region, agrupado por región, con dos columnas con nombre: total (la suma de monto) y unidades (la suma de cantidad).
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.