> lección 27/34 · 12 min

value_counts: contar categorías

Concepto

"¿Por qué canal llegan más respuestas?" se responde contando cuántas veces aparece cada valor de una columna. value_counts lo hace en una línea y ordena el resultado de mayor a menor.

Sintaxis
df["columna"].value_counts()

Contar. El resultado es una Series: el índice son los valores distintos y los números, cuántas veces aparece cada uno. El más frecuente queda primero.

ventas["producto"].value_counts()

El más frecuente. Como viene ordenado, el primer elemento del índice es el valor más común.

ventas["producto"].value_counts().index[0]   # "Mouse"

Proporciones. Con normalize=True, en vez de cantidades da la fracción de cada valor sobre el total: 0.25 es un cuarto de las filas. Multiplicada por 100, es un porcentaje.

ventas["categoria"].value_counts(normalize=True)

value_counts o groupby. value_counts responde una sola pregunta: cuántas filas hay de cada valor. Si necesitas sumar o promediar otra columna por grupo, usa groupby.

> tarea Python

Con encuesta ya cargada: guarda en por_canal cuántas respuestas llegaron por cada canal, con value_counts. Guarda en canal_top el canal con más respuestas, leyéndolo del resultado, y en porcentaje_web el porcentaje de respuestas que llegaron por web (de 0 a 100), usando normalize=True.

Cargando Python… la primera vez puede tardar unos segundos.

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.