Volver a la biblioteca

Asistencia a un gimnasio (datos sucios)

Registro de asistencias a un gimnasio durante 6 meses, con múltiples problemas reales de calidad de datos para limpiar antes de analizar.

AvanzadoSalud193 filas · 7 columnas

Herramientas sugeridas

PythonPrincipalR

Sobre este dataset

Este dataset contiene aproximadamente 190 registros de asistencias a un gimnasio durante el primer semestre de 2025. Es un dataset DELIBERADAMENTE SUCIO, pensado para que practiques limpieza profunda antes de poder analizar nada.

Problemas que vas a encontrar: - Fechas en al menos 5 formatos distintos (ISO, DD/MM/YYYY, DD-MM-YYYY, etc.) que hay que unificar. - Nombres de socios con problemas de capitalización (mayúsculas, minúsculas, mezcladas), espacios extra al inicio/final, dobles espacios y tildes inconsistentes. - Misma actividad escrita de muchas formas (por ejemplo: "Musculación", "musculacion", "MUSCULACION", "Musculacion"). - Edades inválidas: vacías, negativas, escritas con letras ("veinticinco"), valores imposibles (como 180 años). - Duración expresada en distintos formatos: "60", "60min", "60 min", "1h", "1.5h", o vacía. - Filas duplicadas exactas y filas completamente vacías.

El objetivo es que practiques el flujo completo de limpieza: detectar problemas, decidir cómo tratarlos, normalizar, y recién después analizar. Es el típico dataset que te tocaría en un trabajo real.

Recomendado para practicar pandas en Python o tidyverse en R. Excel se queda corto para este tipo de limpieza.

Diccionario de columnas

ColumnaDescripción
socio_idIdentificador del socio del gimnasio (formato S###).
nombreNombre del socio. Tiene problemas de capitalización, espacios extra y tildes inconsistentes.
edadEdad del socio. Puede contener valores nulos, negativos, escritos con letras o imposibles.
actividadActividad realizada (musculación, spinning, yoga, funcional, crossfit, pilates). Escrita de forma inconsistente.
fechaFecha de la asistencia. Aparece en al menos 5 formatos distintos.
duracionDuración de la sesión. Mezcla de formatos: minutos sin unidad, con sufijo min, horas decimales, vacíos.
dias_consecutivosCantidad de días consecutivos de asistencia hasta la fecha. Puede estar vacío.

Vista previa

socio_idnombreedadactividadfechaduraciondias_consecutivos
S069CAMILA RUIZ29MUSCULACION2025/04/0260 min1
S060Martin Garcia21CROSSFIT28-04-20250.5h10
S029Camila Ruiz59musculacion25-02-202560 min3
S008TOMAS MOLINA74Spining18-05-20256010
S020FLORENCIA ACOSTA31musculacion2025-02-0775min

Ejercicios propuestos

  1. Hacé una auditoría inicial de calidad de datos: cantidad de filas totales, filas completamente vacías, filas duplicadas exactas, y porcentaje de nulos por columna.

    IntermedioPythonR
  2. Normalizá la columna fecha a un formato único (ISO YYYY-MM-DD) detectando automáticamente el formato de cada fila.

    AvanzadoPythonR
  3. Limpiá la columna actividad para que cada actividad aparezca de una sola forma (por ejemplo: todas como 'Musculación' con tilde y mayúscula inicial). Hacé lo mismo con la columna nombre.

    AvanzadoPythonR
  4. Convertí la columna duracion a un valor numérico único (en minutos). Decidí qué hacer con los valores nulos: ¿los descartás, los imputás con la mediana, o con la moda por actividad? Justificá tu decisión.

    AvanzadoPythonR
  5. Una vez limpiado todo el dataset, calculá: cuál es la actividad más popular, cuál es la duración promedio por actividad, y cuál fue el mes con más asistencias en total.

    IntermedioPythonR

Origen

Creado por Bunseki Curado para fines educativos. Libre uso para aprender.

Etiquetado como Avanzado en contexto salud.