Lección 2 del curso SQL Nivel Avanzado.
En la lección anterior vimos cómo usar SQL para aplicar diferentes transformaciones a datos tanto numéricos como tipo texto (o “strings”).
En esta lección comenzaremos a ver una serie de herramientas que nos permiten realizar la limpieza de datos. Y en particular veremos herramientas básicas de SQL para realizar la detección y el manejo de datos faltantes en una base de datos.
En esencia la detección consiste en determinar aquellas celdas donde el dato almacenado es tipo NULL. Y tras la detección podemos realizar el manejo de estos datos faltantes, es decir determinar qué haremos con estos registros “problemáticos”.
Este manejo de los datos faltantes dependerá del tipo de variable que estemos analizando, es decir si esta es numérica o categórica.
Teniendo esto en cuenta, veamos en detalle cómo realizar esta detección y manejo de datos faltantes:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Con los ejemplos que acabamos de analizar podemos concluir que la detección de datos faltantes es realmente muy sencilla: simplemente debemos usar la sentencia WHERE (vista en el curso SQL Nivel Básico) para filtrar aquellos registros que cumplen la condición IS NULL.
Y luego de esto debemos realizar el manejo. La técnica más sencilla de manejo consiste en la eliminación de los registros, la cual podemos llevar a cabo usando nuevamente WHERE pero en este caso preservando únicamente los registros completos (es decir usando la condición IS NOT NULL).
Y otra técnica un poco más sofisticada es la imputación, que consiste en estimar los datos faltantes con base en los datos conocidos. Y esta imputación depende del tipo de variable que estemos analizando; así por ejemplo:
Si la variable es numérica podemos realizar la imputación por la media o la mediana
Mientras que si la variable es categórica podemos, por ejemplo, realizar la imputación por la categoría más frecuente
En ambos casos podemos hacer uso de la sentencia CASE para realizar la imputación si se trata de un dato faltante o para simplemente dejar el dato original si no se trata de un dato faltante.
Si queremos usar técnicas más elaboradas, como por ejemplo la interpolación o la imputación usando técnicas de Machine Learning, tendremos que recurrir al uso de Python para tomar la tabla proveniente de SQL y realizar posteriormente la imputación. Pero de esto hablaremos en detalle más adelante en este curso.
Así que teniendo claras estas técnicas básicas de detección y manejo de datos faltantes, en la próxima lección continuaremos hablando de la limpieza de datos y veremos específicamente cómo realizar la detección y el manejo de valores extremos con SQL.
Todas las lecciones del curso SQL Nivel Avanzado
