Machine Learning
Machine Learning
1. Fuzzy Matching (Cruce Difuso)
1. Fuzzy Matching
Cruza listas de empresas o nombres que no coinciden exactamente debido a errores tipográficos usando la librería TheFuzz.
Cross-reference lists of companies or names that don't exactly match due to typos using the TheFuzz library.
Ejemplo baseBase example
from thefuzz import process
choices = ["Microsoft", "Apple Inc", "Google LLC"]
query = "Micro soft Corp"
match = process.extractOne(query, choices)
# ES: Mejor coincidencia | EN: Best match
Seguridad de Datos
Data Security
2. Detección de anomalías sin reglas
2. Anomaly detection without rules
Utiliza Isolation Forest para detectar fraudes o registros estadísticamente sospechosos que escapan a los filtros tradicionales.
Use Isolation Forest to detect fraud or statistically suspicious records that bypass traditional filters.
Ejemplo baseBase example
from sklearn.ensemble import IsolationForest
model = IsolationForest(contamination=0.01)
# -1 = anomalia/anomaly, 1 = normal
df['es_anomalia'] = model.fit_predict(df[['monto', 'frecuencia']])
Calidad Avanzada
Advanced Quality
3. Imputación inteligente de nulos
3. Smart null imputation
En lugar de rellenar con ceros, predice el valor vacío basándote en el comportamiento de registros similares usando KNNImputer.
Instead of filling with zeros, predict the empty value based on the behavior of similar records using KNNImputer.
Ejemplo baseBase example
from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors=3)
columnas = ['edad', 'salario', 'experiencia']
df_clean = imputer.fit_transform(df[columnas])
NLP
NLP
4. Búsqueda Semántica con Embeddings
4. Semantic Search with Embeddings
Cruza descripciones de ofertas de empleo con CVs buscando por "significado" y no por coincidencia exacta de palabras.
Cross-reference job descriptions with CVs searching by "meaning" rather than exact word matches.
Ejemplo baseBase example
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('all-MiniLM-L6-v2')
vector = model.encode("Trabajo remoto desde casa")
Análisis de Sentimiento
Sentiment Analysis
5. Evaluar tono de retroalimentaciones
5. Evaluate feedback tone
Puntúa automáticamente la satisfacción o frustración en miles de comentarios usando modelos de lenguaje pre-entrenados.
Automatically score satisfaction or frustration across thousands of comments using pre-trained language models.
Ejemplo baseBase example
from transformers import pipeline
nlp = pipeline("sentiment-analysis")
resultado = nlp("¡El nuevo sistema es lento! / The new system is slow!")
print(resultado)
Big Data
Big Data
6. Procesar archivos masivos sin RAM
6. Process massive files without RAM
Reemplaza Pandas por Polars para procesar datasets de 20GB+ usando evaluación "perezosa" y procesamiento multihilo.
Replace Pandas with Polars to process 20GB+ datasets using lazy evaluation and multi-threading.
Ejemplo baseBase example
import polars as pl
df = (
pl.scan_csv("dataset_gigante_2026.csv")
.filter(pl.col("ventas") > 1000)
.collect()
)
APIs Masivas
Massive APIs
7. Consultas asíncronas de rendimiento
7. High-performance async queries
Ejecuta miles de peticiones a una API externa simultáneamente en segundos en lugar de esperar horas secuencialmente.
Execute thousands of requests to an external API simultaneously in seconds instead of waiting hours sequentially.
Ejemplo baseBase example
import asyncio
import aiohttp
async def fetch_data(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.json()
Rendimiento CPU
CPU Performance
8. Paralelismo real en transformaciones
8. Real parallelism in transformations
Distribuye cálculos matemáticos o de limpieza de texto muy pesados entre todos los núcleos de tu procesador físico.
Distribute heavy mathematical calculations or text cleaning across all cores of your physical processor.
Ejemplo baseBase example
from joblib import Parallel, delayed
def tarea_pesada(dato):
return dato * dato
jobs = Parallel(n_jobs=-1)
resultados = jobs(delayed(tarea_pesada)(i) for i in datos)
Cloud Integration
Cloud Integration
9. Lectura directa de Data Lakes (S3)
9. Direct reading from Data Lakes (S3)
Trabaja con archivos Parquet comprimidos directamente en la nube sin tener que descargarlos a tu disco local.
Work with compressed Parquet files directly in the cloud without downloading them to your local disk.
Ejemplo baseBase example
import pandas as pd
url_in = 's3://mi-bucket-corporativo/datos.parquet'
url_out = 's3://mi-bucket-corporativo/datos_limpios.parquet'
df = pd.read_parquet(url_in)
df.to_parquet(url_out)
JSON Avanzado
JSON Avanzado
10. Aplanamiento de JSON anidados
10. Flattening nested JSONs
Convierte respuestas complejas de APIs modernas, que tienen múltiples niveles de profundidad, en tablas planas estructuradas.
Convert complex responses from modern APIs, which have multiple levels of depth, into flat structured tables.
Ejemplo baseBase example
import pandas as pd
api_data = [{'id': 1, 'user': {'nombre': 'Alex', 'area': 'IT'}}]
df = pd.json_normalize(api_data)
# Genera columna: user.area | Generates column: user.area
Scraping Dinámico
Scraping Dinámico
11. Extraer datos con login y JS
11. Extract data with login and JS
Usa Playwright para extraer información de webs modernas (React/Angular) que requieren interacciones o clics de un usuario real.
Use Playwright to extract information from modern websites (React/Angular) that require real user interactions or clicks.
Ejemplo baseBase example
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://portal_interno.com/login")
page.click("button#descargar_reporte")
OCR & PDFs
OCR & PDFs
12. Extracción de tablas escaneadas
12. Extraction of scanned tables
Saca datos estructurados de facturas o expedientes físicos en formato PDF utilizando modelos avanzados de conversión.
Extract structured data from physical invoices or files in PDF format using advanced conversion models.
Ejemplo baseBase example
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
resultado = converter.convert("factura_proveedor.pdf")
print(resultado.document.export_to_markdown())
Regex
Regex
13. Regex con Named Capture Groups
13. Regex with Named Capture Groups
Extrae múltiples piezas de información de un log de servidor en un solo paso, asignándolas directo a variables con nombre.
Extract multiple pieces of information from a server log in a single step, assigning them directly to named variables.
Ejemplo baseBase example
import re
log = "10.0.0.1 - Admin - ERROR"
patron = r"(?P[\d.]+)\s-\s(?P\w+)\s-\s(?P\w+)"
match = re.search(patron, log)
print(match.groupdict())
# {'ip': '10.0.0.1', 'usuario': 'Admin', 'estado': 'ERROR'}
Redes Complejas
Complex Networks
14. Análisis de grafos de conexiones
14. Graph analysis of connections
Mapea relaciones ocultas (ej. usuarios que comparten la misma IP) para detectar cuentas duplicadas o fraudes corporativos.
Map hidden relationships (e.g. users sharing the same IP) to detect duplicate accounts or corporate fraud.
Ejemplo baseBase example
import networkx as nx
G = nx.Graph()
G.add_edge("Usuario_A", "IP_192.168.1.5")
G.add_edge("Usuario_B", "IP_192.168.1.5")
# NetworkX detecta relaciones | NetworkX detects relationships
Data Contracts
Data Contracts
15. Validaciones estrictas pre-producción
15. Strict pre-production validations
Define reglas críticas obligatorias que tus datos deben cumplir (ej. edad mayor a 18) usando Great Expectations.
Define mandatory critical rules your data must meet (e.g. age over 18) using Great Expectations.
Ejemplo baseBase example
import great_expectations as ge
df_ge = ge.from_pandas(df)
df_ge.expect_column_values_to_be_between("edad", 18, 80)
df_ge.expect_column_values_to_not_be_null("id_nacional")
Auditoría Automática
Automated Auditing
16. Reportes HTML interactivos
16. Interactive HTML reports
Genera un perfil estadístico profundo, detectando correlaciones y alertas de calidad de datos con solo tres líneas de código.
Generate a deep statistical profile, detecting correlations and data quality alerts with just three lines of code.
Ejemplo baseBase example
from ydata_profiling import ProfileReport
profile = ProfileReport(df, title="Reporte / Report")
profile.to_file("auditoria_datos.html")
Privacidad (PII)
Privacidad (PII)
17. Enmascaramiento de datos sensibles
17. Masking of sensitive data
Sustituye nombres, correos y números reales por datos ficticios usando Faker para compartir entornos de prueba seguros.
Replace real names, emails, and numbers with fictitious data using Faker to share secure test environments.
Ejemplo baseBase example
from faker import Faker
fake = Faker()
df['nombre_seguro'] = df['nombre_real'].apply(lambda x: fake.name())
df['email_seguro'] = df['email_real'].apply(lambda x: fake.email())
Testing / CI-CD
Testing / CI-CD
18. Pruebas unitarias para limpieza
18. Unit testing for cleaning
Escribe scripts con Pytest que verifiquen que futuras modificaciones en tu código no rompan la lógica del negocio.
Write Pytest scripts to verify that future modifications to your code won't break the business logic.
Ejemplo baseBase example
import pytest
# Terminal: pytest test_limpieza.py
def test_limpiar_moneda():
assert limpiar_precio("$1,500.50") == 1500.50
Geoespacial
Geoespacial
19. Cálculos con coordenadas GPS
19. Calculations with GPS coordinates
Calcula radios de influencia o distancias exactas entre clientes y almacenes cruzando mapas y datos estructurados.
Calculate radii of influence or exact distances between clients and warehouses by cross-referencing maps and structured data.
Ejemplo baseBase example
import geopandas as gpd
puntos = gpd.read_file("clientes.geojson")
puntos['zona_influencia'] = puntos.buffer(5000)
Series de Tiempo
Time Series
20. Resampling e interpolación
20. Resampling and interpolation
Convierte registros que ocurren a horas aleatorias en una tabla continua (ej. cada 15 min), rellenando los huecos matemáticamente.
Convert records occurring at random hours into a continuous table (e.g. every 15 mins), mathematically filling the gaps.
Ejemplo baseBase example
import pandas as pd
# Agrupa y rellena / Group and interpolate
df_continuo = df.resample('15T').mean().interpolate()