Descripción
El concepto data wrangling incluye todas las manipulaciones que se llevan a cabo sobre conjuntos de datos «crudos» (tal y como se han conseguido) para convertirlos en uno o más ficheros adecuados para el análisis posterior y aplicando técnicas propias de bases de datos, pero también operaciones sencillas que pueden hacerse desde la línea de pedidos del sistema operativo o desde lenguajes de programación como R o Python. Esta tarea, de las primeras que hay que realizar en cualquier proyecto de ciencia de datos, consume mucho tiempo y esfuerzos, necesarios para obtener resultados buenos después. De hecho, la palabra wrangling significa ‘tener que pelearse para obtener algo’.
En la práctica, eso quiere decir tener que inspeccionar los ficheros en crudo para detectar posibles problemas a escala de registro o de variable (por ejemplo, la presencia de valores extremos fuera de escala o su ausencia), fusionar varios conjuntos de datos en uno solo, cambiar la estructura de ficheros (lo que se conoce como pivotar), etc. Haciendo un símil con la cocina, se trataría de coger los ingredientes que hemos comprado en el mercado, descartar los inservibles, limpiar los buenos, cortarlos como corresponda y cocinar, por ejemplo, un caldo necesario para hacer un arroz después.
Enlace al recurso
https://en.wikipedia.org/wiki/Data_wrangling
Ejemplo de uso
Supongamos que tenemos un fichero que nos dice, por cada estudiante, de qué asignaturas se ha matriculado un semestre y de qué grado (algunos estudiantes hacen dos grados o más a la vez), con una fila por estudiante, semestre, asignatura y grado, por ejemplo:
estudiante;semestre;asignatura;grado est_1;sem;as_1;grado_X est_1;sem;as_2;grado_X est_1;sem;as_3;grado_X est_2;sem;as_1;grado_X est_2;sem;as_2;grado_Y
Una operación típica de data wrangling sería convertir este fichero en otro con el siguiente formato:
estudiante;semestre;numGrados;grado;numAs;asignatura1;asignatura2;...;asignaturaN est_1;sem;1;grado_X;3;as_1;as_2;as_3 est_2;sem;2;grado_X;1;as_1 est_2;sem;2;grado_Y;1;as_2
Donde cada línea nos dice, por cada estudiante y semestre, de cuántos grados se ha matriculado, de qué grados y de qué asignaturas de cada grado. Este formato intermedio puede ser empleado por otros scripts para generar, por ejemplo, otro fichero con todas las combinaciones de asignaturas matriculadas por las personas usuarias en un mismo grado para analizar coocurrencias de matrícula, con el objetivo de predecir las necesidades docentes, pero también la posibilidad de construir «recomendadores» de matrícula.
Además, este script que realiza la conversión entre formatos (porque obviamente se podría ir de un formato al otro sin problemas; en este ejemplo no hay ninguna pérdida de información) también podría comprobar ciertas cosas, como por ejemplo que no hay grados repetidos o asignaturas repetidas, o que tanto la asignatura como el grado se ofrecen aquel semestre, y así reforzar la consistencia de los datos.
En la asignatura Captura y preparación de datos del grado de Ciencia de Datos Aplicada de la UOC podréis aprender a trabajar con datos crudos y prepararlos para el análisis posterior.
Enlaces relacionados
Curso de IBM en Coursera sobre data wrangling: https://www.coursera.org/lecture/introduction-al-analisis-de-datos/que-es-data-wrangling-uwVMl
Curso de IBM en Coursera con herramientas para data wrangling: https://www.coursera.org/lecture/introduction-to-data-analytics/tools-for-data-wrangling-QpHrp