Domar datos con confianza es clave para un flujo de trabajo sólido en Jupyter Notebook. Aquí aprenderás a aplicar transformaciones esenciales con Pandas para un data set real: añadir un UID, extraer el host de una URL y explorar frecuencias. Todo orientado a automatizar ETL y preparar datos para análisis y visualización.
¿Por qué el domado de datos es clave en data engineering?
El domado de datos es limpiar, transformar y enriquecer tu data set. En roles como data scientist, data engineer o machine learning engineer, esta actividad ocupa hasta 80 % del tiempo. Su propósito: transformar lo extraído para procesarlo o visualizarlo después dentro de un pipe de extract, transform and load.
Pandas facilita transformaciones rápidas y eficientes con grandes volúmenes.
Permite detectar datos faltantes con facilidad.
Ayuda a agrupar y resumir para conocer formas, tipos y distribuciones.
La visualización es transversal: apoya a ver patrones y posibles correlaciones en todo momento.
En escenarios reales, los data sets jamás están “perfectamente limpios”. “Sucio” depende del uso: lo que sirve para una app, quizá no sirve para un sistema analítico especializado.
¿Cómo añadir un identificador único al data set?
Primera transformación: crear un UID del periódico para agrupar cuando concatenemos con otros data sets (por ejemplo, datos del país). La idea es añadir una columna constante que identifique el origen, como “El Universal”.
# Añadir UID del periódicoimport pandas as pd
# df: DataFrame cargado previamentedf['newspaper_uid']='El Universal'
Objetivo: estandarizar el origen y facilitar joins o concatenaciones futuras.
Beneficio: simplifica pipelines al escalar a múltiples fuentes.
¿Cómo extraer el host y explorar frecuencias con Pandas?
Segunda transformación: extraer el host de cada URL para entender la estructura del medio. Esto permite detectar si el sitio es único o un conjunto de subdominios (por ejemplo: Oaxaca, El Gráfico, De Diez, Vive, El Botiquín, Club Universal MX).
# Extraer host desde la URLfrom urllib.parse import urlparse
df['host']= df['url'].apply(lambda url: urlparse(url).netloc)
Se usa apply para aplicar una función a cada fila de la columna URL.
urlparse proviene de la librería estándar y devuelve componentes de la URL; de ahí tomamos el host.
¿Qué hace apply y lambda en Pandas?
apply: permite transformaciones personalizadas usando funciones externas a Pandas.
lambda: define una función inline simple para operar elemento a elemento.
Resultado: flexibilidad para parsear URLs u otras tareas específicas sin salir del DataFrame.
¿Cómo contar hosts con value_counts?
Para explorar la distribución de hosts y su frecuencia, usa conteos.
# Frecuencias de hostdf['host'].value_counts()
Entrega un resumen con valores únicos y su conteo.
Insight clave: de 149 artículos scrapeados, la mayoría pertenecen a “El Universal”, pero el medio está compuesto por varios sitios.
Detectar subdominios ayuda a segmentar, agrupar y validar cobertura.
¿Para qué llevar esto a automatización?
Meta: convertir estos pasos en una receta reproducible y aplicable a cualquier sitio.
Camino: pasar del Notebook a una tubería de data engineering que ejecute transformaciones a escala.
Ventaja: consistencia, velocidad y menor error humano.
¿Quieres que abordemos la automatización de estas transformaciones y cómo integrarlas en tu pipeline? Deja tus preguntas y ejemplos en los comentarios.