Skip to content

py311 Introducción a Ingeniería y Analítica de Datos con Python

License

Notifications You must be signed in to change notification settings

PythonistaMX/py311

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

161 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fundamentos de Python para Ingeniería y Analítica de Datos (Py311)

Python Codespaces License Streamlit Polars

Próxima Edición: 23 de Febrero | Lunes a Jueves | 12 Sesiones Online

Este repositorio contiene el material oficial del curso Py311, primer curso de la ruta de Ingeniería de Datos con Python. Cubre los fundamentos de computación numérica, manipulación y visualización de datos, y presenta las herramientas modernas de análisis y escalado que se usarán a lo largo de toda la ruta.


🗺️ Ruta de Aprendizaje

Prerequisitos recomendados

Este curso asume conocimiento previo de Python. Si necesitas construir esa base primero:

Curso Título Repositorio
Py101 Introducción a la Programación con Python PythonistaMX/py101
Py111 Programación Orientada a Objetos con Python PythonistaMX/py111

Continuación de la ruta

Py311 es el punto de entrada de una ruta progresiva de cinco cursos:

Curso Título Estado
Py311 Fundamentos de Python para Ingeniería y Analítica de Datos ✅ Este curso
Py321 Orquestación con Apache Airflow Próximamente
Py331 Pipelines batch y streaming con Apache Beam Próximamente
Py341 Ciclo de vida de los datos con Spark y PySpark Próximamente
Py351 Streams con Apache Kafka Próximamente
Py361 Conceptos y prácticas de ingeniería de datos Próximamente

🚀 Acerca del Curso

Un programa intensivo orientado a construir la base técnica necesaria para trabajar como ingeniero o analista de datos en entornos modernos. Al completarlo serás capaz de:

  • Dominar el ecosistema numérico: NumPy, SciPy y álgebra lineal aplicada a datos.
  • Manipular datos con Pandas moderno: Tipos eficientes, limpieza, agregaciones y ventanas.
  • Visualizar con precisión estadística: Matplotlib, Seaborn y Plotnine (gramática de gráficos).
  • Optimizar memoria y rendimiento: PyArrow como backend y Polars para análisis de alto rendimiento.
  • Construir productos de datos: Dashboards interactivos con Streamlit sin necesidad de desarrollo web.
  • Escalar más allá de la memoria local: Procesamiento paralelo y distribuido con Dask.

Todo el entorno se ejecuta en la nube mediante GitHub Codespaces, sin necesidad de instalación local.


📅 Temario y Estructura

El curso consta de 12 sesiones de 2 horas (24 horas totales), divididas en 6 bloques estratégicos:

Bloque Temática Principal Tecnologías Clave
I. Fundamentos Computación numérica y álgebra lineal vectorial NumPy, SciPy
II. Pandas Moderno Backend PyArrow, manipulación y limpieza de datos Pandas 2.0, PyArrow
III. Visualización Gramática de gráficos, estadística y control fino Matplotlib, Seaborn, Plotnine
IV. Herramientas Modernas Formato Arrow, Polars y optimización de memoria PyArrow, Polars
V. Data Apps Dashboards interactivos sin desarrollo web Streamlit
VI. Escalado Procesamiento paralelo y escalabilidad distribuida Dask

📚 Contenidos

🧭 Tabla de contenidos (enlaces rápidos)

🔹 Módulo 1: Fundamentos Numéricos

  • 01 - El proyecto SciPy y el ecosistema de datos.
  • 02 - Conceptos básicos de NumPy (arreglos y vectores).
  • 03 - Creación de arreglos con funciones especializadas y lectura/escritura de archivos.
  • 04 - Generación de datos sintéticos y aleatorios.
  • 05 - Indexado, rebanado, modificación de arreglos y broadcasting.
  • 06 - Manipulación y transformación de arreglos.
  • 07 - Análisis numérico y estadístico básico.
  • 08 - Álgebra lineal aplicada a datos.

🔹 Módulo 2: Pandas Moderno y Estructura

  • 09 - Introducción a Pandas.
  • 10 - Tipos de datos de Pandas y funciones de conversión de tipos.
  • 11 - Operaciones estructurales en DataFrames.
  • 12 - Índices simples (pd.Index) y multiíndices (pd.MultiIndex).
  • 13 - Datos categóricos y relaciones.
  • 14 - Uniones y mezclas de DataFrames.
  • 15 - El método merge(): uniones inner, outer, left y right.
  • 16 - El método filter(): filtrado de columnas e índices por etiqueta.
  • 17 - Transformaciones personalizadas (apply, transform).
  • 18 - Técnicas de enmascaramiento avanzado.
  • 19 - Gestión de calidad de datos.
  • 20 - Estrategias de imputación y manejo de nulos.
  • 21 - Transformación y limpieza de objetos.
  • 22 - Agregaciones avanzadas: groupby, crosstab, pivot_table y window functions.
  • 23 - Extracción y almacenamiento de datos.
  • 24 - Visualización de datos con Pandas.

🔹 Módulo 3: Visualización Estadística

  • 25 - Introducción a Matplotlib (fundamentos).
  • 26 - Elementos de un gráfico (títulos, ejes, leyendas, estilos).
  • 27 - Tipos básicos de gráficos (scatter, line, bar, histogramas).
  • 28 - Plotnine (gramática de gráficos para reportes reproducibles).
  • 29 - Introducción a Seaborn (visualización estadística rápida).
  • 30 - Objetos especializados en Seaborn (regresión, correlación, distribuciones).

📊 Nota: Plotnine (basado en ggplot2) es ideal para reportes reproducibles y migración desde R. Seaborn para exploración iterativa. Matplotlib para control fino de bajo nivel.

🔹 Módulo 4: Herramientas Modernas de Datos

  • 31 - Introducción a PyArrow: arrays, tablas y backend para Pandas.
  • 32 - Introducción a Polars: API expresiva y evaluación lazy.
  • 33 - Polars Avanzado: window functions, optimización y decisiones arquitectónicas.

🔹 Módulo 5: Data Apps Interactivas

  • 34 - Introducción a Streamlit: dashboards web sin HTML/CSS/JavaScript.

🔹 Módulo 6: Computación Distribuida

  • 35 - Introducción a Dask: procesamiento paralelo y escalabilidad out-of-core.

🛠️ Instalación y Uso

¡Olvídate de configurar entornos locales! Este repositorio está configurado para GitHub Codespaces.

  1. Haz clic en el botón "Code" (verde) arriba a la derecha.
  2. Ve a la pestaña "Codespaces".
  3. Haz clic en "Create codespace on main".

El entorno se iniciará automáticamente con:

  • Python 3.11
  • JupyterLab
  • Todas las librerías instaladas (Polars, Dask, Streamlit, etc.)
  • Puertos configurados para visualizar tus apps.

Ejecución Local (Opcional)

Si prefieres trabajar en tu máquina:

# Clonar el repositorio
git clone https://github.com/tusuario/py311.git
cd py311

# Crear entorno virtual
python -m venv venv
source venv/bin/activate  # En Windows: venv\Scripts\activate

# Instalar dependencias
pip install -r requirements.txt

# Iniciar Jupyter
jupyter lab

📖 Recursos Adicionales


📝 Licencia

Este proyecto está bajo la licencia Creative Commons Atribución 4.0 Internacional (CC-BY 4.0).

Eres libre de:

  • ✅ Compartir el material en cualquier medio o formato
  • ✅ Adaptar, remezclar y crear contenido derivado
  • ✅ Usar con fines comerciales

Con la condición de:

  • 📌 Atribución: Debes dar crédito apropiado, proporcionar un enlace a la licencia e indicar si se han realizado cambios.

Para más información, visita: https://creativecommons.org/licenses/by/4.0/

Véase el archivo LICENSE para los términos completos.

About

py311 Introducción a Ingeniería y Analítica de Datos con Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •