¿Cómo reviso las categorías de una columna con value_counts()?
Cuenta los valores de una columna de texto, encuentra las etiquetas que no esperabas y grafica las estaciones en orden.
Curso gratis. Tu Maestro, una IA, .
No todas las columnas son números. tipo_usuario, estacion_origen y estacion_destino guardan etiquetas: cada valor nombra un grupo. Con ellas no tiene sentido un promedio ni un histograma. Lo que preguntas es otra cosa: qué valores hay y cuántas filas tiene cada uno.
Esa pregunta encuentra problemas que ninguna otra revisión encuentra: una etiqueta escrita de dos formas, un grupo que no debería existir, una categoría con tres filas que nadie esperaba. Y te dice algo del negocio: qué estaciones mueven más viajes, qué tanto pesan los ocasionales.
Empieza con una apuesta. La descripción de la columna tipo_usuario en el dataset dice: suscriptor (con membresía) u ocasional (pase de un día).
Comprueba lo que sabes: Según su descripción, tipo_usuario vale suscriptor u ocasional. ¿Cuántos valores distintos crees que tiene la columna?
El conteo se hace con value_counts(): lista cada valor distinto con el número de filas que lo tienen, del más común al menos común. Es probablemente el comando que más vas a usar en un primer vistazo.
Corre el conteo de tipousuario. Luego cámbialo a estacionorigen y mira cuántas estaciones hay y cuáles concentran los viajes.
Corre el conteo de tipo_usuario. Luego cámbialo a estacion_origen y mira cuántas estaciones hay y cuáles concentran los viajes.
Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo. Ctrl+Enter ejecuta tu código. Tab agrega sangría; para salir del editor, presiona Escape y luego Tab.
Listo para ejecutar tu código.
Ejecuta tu código para ver su salida aquí.
Datos: viajes-rueda, 311 filas
Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.
| Fila | Quitar | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||
| 2 | ||||||||||
| 3 | ||||||||||
| 4 | ||||||||||
| 5 | ||||||||||
| 6 | ||||||||||
| 7 | ||||||||||
| 8 | ||||||||||
| 9 | ||||||||||
| 10 | ||||||||||
| 11 | ||||||||||
| 12 | ||||||||||
| 13 | ||||||||||
| 14 | ||||||||||
| 15 | ||||||||||
| 16 | ||||||||||
| 17 | ||||||||||
| 18 | ||||||||||
| 19 | ||||||||||
| 20 |
Salen tres etiquetas: suscriptor 228, ocasional 71 y Suscriptor, con mayúscula, 12. Para una computadora, suscriptor y Suscriptor son tan distintas como suscriptor y ocasional. Si agrupas por tipo de usuario sin darte cuenta, tu reporte tendrá tres grupos, y los 12 viajes de Suscriptor quedarán fuera de cualquier cifra de suscriptores.
Antes de anotar "hay una etiqueta mal escrita", pregunta de dónde sale. Doce filas que se parecen en algo suelen tener una causa común.
¿De dónde salen los 12 viajes con Suscriptor? Corre el código. Después imprime también el primer inicio de esos viajes con .min().
¿De dónde salen los 12 viajes con Suscriptor? Corre el código. Después imprime también el primer inicio de esos viajes con .min().
Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo. Ctrl+Enter ejecuta tu código. Tab agrega sangría; para salir del editor, presiona Escape y luego Tab.
Listo para ejecutar tu código.
Ejecuta tu código para ver su salida aquí.
Datos: viajes-rueda, 311 filas
Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.
| Fila | Quitar | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||
| 2 | ||||||||||
| 3 | ||||||||||
| 4 | ||||||||||
| 5 | ||||||||||
| 6 | ||||||||||
| 7 | ||||||||||
| 8 | ||||||||||
| 9 | ||||||||||
| 10 | ||||||||||
| 11 | ||||||||||
| 12 | ||||||||||
| 13 | ||||||||||
| 14 | ||||||||||
| 15 | ||||||||||
| 16 | ||||||||||
| 17 | ||||||||||
| 18 | ||||||||||
| 19 | ||||||||||
| 20 |
Los 12 salieron de la misma estación, Terminal de Autobuses, y el primero empezó el 9 de marzo a las 7:07. El último viaje de suscriptor en minúsculas que salió de esa estación fue el 8 de marzo a las 14:37. Algo cambió en esa estación entre el 8 y el 9: quizá una terminal nueva que escribe la etiqueta con mayúscula. Es una hipótesis para confirmar con quien opera Rueda.
En tu bitácora: tipo_usuario tiene 3 valores; Suscriptor (12 filas) sale solo de Terminal de Autobuses desde el 9 de marzo 7:07; probablemente son suscriptores; agrupar con cuidado. Unificar las etiquetas ya es limpiar, y eso se ve en el curso Limpia tus datos. Aquí basta con encontrarlo y escribirlo.
Con las estaciones el conteo cuenta otra historia: cuáles mueven más viajes. Una lista de 12 números se lee mejor como gráfica de barras, si la ordenas.
Las barras salen en orden alfabético y los nombres quedan apretados abajo. Pasa la estación al eje y y el conteo al eje x, y ordena las barras con sort="-x" dentro del alt.Y. Ya terminaste cuando la estación con más viajes quede arriba y se lean todos los nombres.
Tu turno
Las barras salen en orden alfabético y los nombres quedan apretados abajo. Pasa la estación al eje y y el conteo al eje x, y ordena las barras con sort="-x" dentro del alt.Y. Ya terminaste cuando la estación con más viajes quede arriba y se lean todos los nombres.
La gráfica se vuelve a dibujar cuando haces una pausa, o al momento con Ejecutar. Ctrl+Enter ejecuta tu código. Tab agrega sangría; para salir del editor, presiona Escape y luego Tab.
Listo para ejecutar tu código.
Datos: viajes-rueda, 311 filas
Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.
| Fila | Quitar | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||||
| 2 | ||||||||||
| 3 | ||||||||||
| 4 | ||||||||||
| 5 | ||||||||||
| 6 | ||||||||||
| 7 | ||||||||||
| 8 | ||||||||||
| 9 | ||||||||||
| 10 | ||||||||||
| 11 | ||||||||||
| 12 | ||||||||||
| 13 | ||||||||||
| 14 | ||||||||||
| 15 | ||||||||||
| 16 | ||||||||||
| 17 | ||||||||||
| 18 | ||||||||||
| 19 | ||||||||||
| 20 |
Ordenada, la gráfica se lee de un vistazo: Centro Histórico, con 58 viajes, casi duplica a la segunda, Hospital General, con 33. Le siguen Universidad y Plaza de Armas con 32 cada una. Al final quedan Las Flores y Estadio, con 10. Una categoría con pocas filas no es un problema, pero cualquier cifra que calcules para ella, como la duración mediana, descansa en muy pocos viajes; anótalo si vas a compararlas.
Ordenar por conteo es casi siempre lo que quieres: el orden alfabético solo sirve para buscar un nombre. Si te preguntas cuándo conviene otro orden, pregúntale a tu Maestro.