Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

SQL para ciencia de datos, Unidad 6 — Funciones avanzadas para análisis, 6.1 — Funciones de texto ·

Casos reales

Casos reales: Limpieza de strings con funciones de texto SQL

Introducción

La limpieza y preparación de los datos son fundamentales para cualquier proyecto de análisis. En este artículo, veremos cómo las funciones de texto en SQL pueden ayudarnos a realizar tareas comunes como la limpieza y normalización de cadenas de caracteres. Las funciones de texto nos permiten manipular strings de manera eficiente, lo que es crucial cuando trabajamos con datos brutos o mal formateados.

Explicación principal

SQL ofrece una variedad de funciones para trabajar con textos, como TRIM, REPLACE, y LOWER/UPPER. Vamos a explorar algunos ejemplos prácticos de cómo usar estas funciones en un conjunto de datos típico.

Ejemplo: Limpieza de nombres

Supongamos que tenemos una base de datos con una columna llamada nombre que contiene nombres mal formateados. Queremos asegurarnos de que todos los nombres estén en minúsculas y no contengan espacios adicionales al principio o al final.

SELECT 
    TRIM(BOTH ' ' FROM LOWER(nombre)) AS nombre_limpio
FROM 
    personas;

Ejemplo: Remoción de caracteres especiales

A menudo, los datos pueden tener caracteres especiales que no son necesarios. Por ejemplo, podría haber acentos o signos de puntuación que deberíamos eliminar.

SELECT 
    REPLACE(REPLACE(REPLACE(nombre, 'á', 'a'), 'é', 'e'), 'í', 'i') AS nombre_sin_acentos
FROM 
    personas;

Ejemplo: Separación y agrupamiento de datos

Las funciones de texto también pueden ayudarnos a separar y agrupar datos. Por ejemplo, si tenemos nombres en un formato "Nombre Apellido", podríamos querer separarlos.

SELECT 
    SUBSTRING_INDEX(nombre, ' ', 1) AS nombre,
    SUBSTRING_INDEX(nombre, ' ', -1) AS apellido
FROM 
    personas;

Errores típicos / trampas

  1. Usando REPLACE sin cuidado: Al usar REPLACE, es fácil olvidarse de considerar todos los posibles caracteres que podrían ser relevantes para el caso en cuestión. Por ejemplo, si solo usamos 'á' y no 'à', 'ä', 'â', se omitirán acentos diferentes.
  1. No prestando atención a las mayúsculas: Al usar LOWER o UPPER, es posible que no te des cuenta de que algunos datos están en mayúsculas pero no se han cambiado debido a problemas con el encoding o la codificación del caracter. Verifica siempre los valores después de aplicar estas funciones.
  1. Usando mal SUBSTRING_INDEX: SUBSTRING_INDEX es útil para separar strings, pero puede ser fácilmente confuso si no se entiende bien cómo funciona. Por ejemplo, en el caso anterior, podrías olvidarte de usar -1 en lugar de 1, lo cual cambiaría la salida significativamente.

Checklist accionable

  1. Verifica los datos: Antes de aplicar cualquier función de texto, asegúrate de revisar algunos ejemplos manualmente para garantizar que entiendes cómo funcionan las funciones.
  2. Usa TRIM adecuadamente: Asegúrate de usar BOTH, LEADING, o TRAILING según sea necesario y no olvides los paréntesis.
  3. Cuida la codificación: Al limpiar datos, asegúrate de que la codificación esté correctamente configurada para evitar problemas con acentos y caracteres especiales.
  4. Usa REPLACE con precaución: Verifica todos los posibles caracteres que podrían necesitar ser reemplazados.
  5. Prueba tus consultas: Antes de aplicar una limpieza en toda la base de datos, prueba tu consulta en un subconjunto de datos para asegurarte de que el resultado es como esperabas.

Siguientes pasos

  1. Aplica lo aprendido a un proyecto real: Prueba las funciones de texto en un conjunto de datos real y aplica lo aprendido a una tarea específica.
  2. Explora más funciones de texto: SQL ofrece muchas otras funciones útiles para trabajar con textos, como CONCAT, SUBSTR, y REVERSE. Explora estas funciones y cómo podrían ser útiles en tu trabajo.
  3. Automatiza procesos: Considera automatizar la limpieza de datos a través de scripts SQL o procedimientos almacenados para ahorrar tiempo y asegurarte de que las tareas se realicen consistentemente.

Asegúrate de seguir estos pasos para mejorar la calidad de tus datos y facilitar el análisis. La limpieza de textos es solo uno de los muchos desafíos que enfrentas en ciencia de datos, pero es crucial para garantizar resultados precisos y confiables.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).