Python Data Science Program

Parte 0 — Prerrequisitos: Python + NumPy + pandas + visualización + SQL + APIs

49 clases · ~11–13 semanas a ritmo moderado · ✅ Contenido completo**

Fuentes (por bloque):

Cada clase tiene su README.md con objetivo, resultados de aprendizaje verificables, dataset recomendado, 5 ejercicios y homework con criterio de aceptación. Cada notebook.ipynb trae 10–18 celdas mezclando markdown explicativo + código ejecutable (basado en VanderPlas/Ramalho donde aplica).

✨ Ampliación pedagógica (v2.2.0): todas las 49 clases incluyen además tres secciones nuevas:


🎯 ¿De qué trata esta parte?

Esta parte construye toda la base técnica que el resto del programa da por sentada. No es "introducción a Python" — es el conjunto mínimo de herramientas con las que un data scientist trabaja a diario: el lenguaje, los entornos reproducibles, el control de versiones, el stack numérico (NumPy / pandas), la visualización (matplotlib / seaborn / plotly), el acceso a datos (SQL, NoSQL, APIs, scraping) y la disciplina de proyecto (logging, type hints, manejo de errores, estructura cookiecutter).

El recorrido es deliberadamente extenso porque cada laguna acá se convierte en deuda invisible que aparece después en Parte 1 (ML clásico) y Parte 2 (Deep Learning). Quien complete bien esta parte puede leer cualquier notebook profesional, reproducirlo, modificarlo y debuggearlo.

🧩 Problemas que resuelve

🎓 Resultados de aprendizaje

Al finalizar esta parte, el estudiante podrá:

🗺️ Estructura temática

📥 Material descargable — parte completa

Materiales consolidados con TODAS las clases de esta parte (útiles para revisar offline o imprimir el bloque entero):



📚 Ficha por clase

✨ 49 de 49 clases tienen contenido pedagógico ampliado (📖 Definiciones · ⚠️ Errores comunes · ❓ FAQ).

001 Instalación de Python 3.12+ y entornos virtuales (venv, uv, conda)📖⚠️❓002 Jupyter y JupyterLab — kernels, magics, debugging, profiling📖⚠️❓003 Git y GitHub para data scientists📖⚠️❓004 Estructura reproducible de proyecto (cookiecutter-data-science)📖⚠️❓005 VS Code / Cursor para Python y Jupyter📖⚠️❓006 Python: tipos, estructuras, control de flujo📖⚠️❓007 Comprehensions y generadores📖⚠️❓008 Funciones: args, kwargs, lambdas, closures📖⚠️❓009 Manejo de excepciones y context managers📖⚠️❓010 OOP básico, dataclasses, herencia📖⚠️❓011 pathlib, lectura y escritura de archivos📖⚠️❓012 Logging📖⚠️❓013 Type hints y mypy📖⚠️❓014 NumPy: tipos, creación, atributos📖⚠️❓015 NumPy: ufuncs y vectorización📖⚠️❓016 NumPy: agregaciones📖⚠️❓017 NumPy: broadcasting📖⚠️❓018 NumPy: boolean masks y fancy indexing📖⚠️❓019 NumPy: ordenamiento y búsqueda📖⚠️❓020 NumPy: álgebra lineal con numpy.linalg📖⚠️❓021 NumPy: aleatoriedad y semillas📖⚠️❓022 Pandas: Series y DataFrame📖⚠️❓023 Pandas: indexación (loc, iloc, at, iat)📖⚠️❓024 Pandas: operaciones y alineación📖⚠️❓025 Pandas: datos faltantes📖⚠️❓026 Pandas: MultiIndex📖⚠️❓027 Pandas: concat, merge, join📖⚠️❓028 Pandas: groupby (split-apply-combine)📖⚠️❓029 Pandas: pivot tables y crosstab📖⚠️❓030 Pandas: operaciones vectorizadas sobre strings📖⚠️❓031 Pandas: series de tiempo, resampling, rolling📖⚠️❓032 Pandas: eval y query📖⚠️❓033 Polars: DataFrames modernos📖⚠️❓034 Parquet, Arrow, PyArrow, DuckDB📖⚠️❓035 Matplotlib: anatomía figura/axes📖⚠️❓036 Matplotlib: line, scatter, bar, histogram, boxplot📖⚠️❓037 Matplotlib: subplots y gridspec📖⚠️❓038 Matplotlib: legends, colorbars, ticks, anotaciones📖⚠️❓039 Matplotlib: stylesheets📖⚠️❓040 Matplotlib: 3D plotting📖⚠️❓041 Seaborn: distribuciones, relaciones, categóricas, facetas📖⚠️❓042 Visualización geográfica (Plotly / folium)📖⚠️❓043 SQL fundamental: SELECT, WHERE, JOIN, GROUP BY, HAVING📖⚠️❓044 SQL avanzado: CTEs, window functions, subqueries correlacionadas📖⚠️❓045 SQL desde Python: sqlite3, SQLAlchemy, DuckDB📖⚠️❓046 NoSQL: MongoDB con pymongo📖⚠️❓047 APIs REST con requests📖⚠️❓048 Web scraping con BeautifulSoup📖⚠️❓049 async / httpx / aiohttp para data scientists📖⚠️❓