Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Numpy — Intermedio

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • numpy

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a profesionales y estudiantes con experiencia previa en NumPy que desean consolidar un dominio sólido de la biblioteca para afrontar pipelines de análisis numérico más exigentes. Partiendo de los fundamentos adquiridos en el nivel de iniciación, el participante profundizará en los mecanismos internos de NumPy —gestión de memoria, dtypes, vistas y copias— y en técnicas avanzadas de indexación y broadcasting que permiten escribir código eficiente y expresivo. A lo largo del curso aprenderá a diagnosticar y corregir errores habituales en transformaciones numéricas (valores especiales, promoción de tipos, conflictos de forma en álgebra lineal) y terminará integrando arrays NumPy en un flujo de análisis completo que combina estadística agregada con visualización, obteniendo así la capacidad de construir y depurar pipelines de datos reales con criterio técnico justificado.

Al finalizar el curso, el participante será capaz de:

  1. Comparar el rendimiento y la legibilidad de soluciones basadas en bucles Python frente a sus equivalentes vectorizados, justificando en qué escenarios la vectorización aporta valor real.
  2. Justificar la elección del tipo de dato adecuado para un conjunto de datos dado, evaluando el equilibrio entre precisión numérica y consumo de memoria.
  3. Comparar el comportamiento de operaciones sobre vistas y copias de un array, determinando cuál emplear según el riesgo de mutación indeseable.
  4. Diseñar operaciones de broadcasting entre arrays de distintas formas, anticipando la forma resultante antes de ejecutar el código.
  5. Adaptar la indexación multidimensional —booleana y fancy indexing— para filtrar y transformar subconjuntos de arrays 2D o 3D bajo condiciones compuestas.
  6. Depurar pipelines de transformación numérica que producen resultados inesperados por presencia de NaN, inf o promoción implícita de dtypes.
  7. Depurar errores de forma en operaciones de álgebra lineal, identificando la causa e introduciendo las transformaciones de forma correctas.
  8. Integrar arrays NumPy en un flujo de análisis que combine operaciones estadísticas agregadas por eje con una visualización en matplotlib o seaborn.

Bloque 1 — Vectorización y rendimiento El primer bloque establece la perspectiva de eficiencia que guiará el resto del curso. Se analiza cómo NumPy elimina la sobrecarga de los bucles Python gracias a sus operaciones universales (ufuncs), se mide el impacto en tiempo de ejecución mediante herramientas de perfilado básico y se definen criterios objetivos para decidir cuándo la vectorización resulta verdaderamente ventajosa frente a soluciones iterativas.

Bloque 2 — Dtypes, memoria y gestión de datos internos Este bloque examina el sistema de tipos de NumPy desde una óptica práctica. Se estudia la representación interna de los principales dtypes enteros y en coma flotante, el coste en memoria de cada elección y los riesgos de la promoción implícita de tipos. También se aborda la diferencia fundamental entre vistas y copias de un array, con especial atención a los escenarios en que una vista puede provocar mutaciones indeseadas y cómo evitarlas de forma deliberada.

Bloque 3 — Broadcasting e indexación avanzada El tercer bloque se centra en dos mecanismos que otorgan a NumPy gran parte de su expresividad. Por un lado, se trabaja el broadcasting: sus reglas de compatibilidad de formas, la visualización mental de la expansión implícita de dimensiones y la anticipación de la forma del array resultado. Por otro, se profundiza en la indexación multidimensional —tanto booleana como fancy indexing— para seleccionar y transformar subconjuntos de arrays de dos y tres dimensiones aplicando condiciones compuestas.

Bloque 4 — Depuración de pipelines numéricos Este bloque aborda las fuentes de error más frecuentes en código NumPy de nivel intermedio. Se trabaja la detección y el tratamiento de valores especiales (NaN, inf) que se propagan de forma silenciosa a través de un pipeline, así como la diagnosis de conflictos de forma (shape mismatch) en operaciones de álgebra lineal como matmul y linalg.solve. Para cada categoría de error se practica un proceso sistemático de diagnosis que conduce a la corrección mediante reshape, transpose o estrategias de saneamiento de datos.

Bloque 5 — Estadística agregada e integración con visualización El bloque de cierre conecta NumPy con el ecosistema de análisis más amplio. Se exploran las operaciones de reducción estadística —media, desviación típica, percentiles— aplicadas a ejes específicos de arrays multidimensionales, y se integran los resultados en visualizaciones construidas con matplotlib o seaborn. El participante desarrolla un mini-proyecto de análisis de extremo a extremo que pone en juego las competencias de todos los bloques anteriores.

  • Python 3.9 o superior.
  • NumPy 1.24 o superior (pip install numpy).
  • Matplotlib 3.7 o superior (pip install matplotlib).
  • Seaborn 0.12 o superior (pip install seaborn).
  • Entorno de ejecución recomendado: JupyterLab 4.x o Jupyter Notebook 7.x.
  • Herramienta de perfilado: módulo timeit de la biblioteca estándar (incluido en Python; no requiere instalación adicional).
  • Acceso a una terminal con permisos para instalar paquetes mediante pip o conda.

Para aprovechar este curso el participante debe haber completado NUM01 — Numpy: Iniciación o disponer de un dominio equivalente que incluya: creación y manipulación básica de arrays, operaciones aritméticas elemento a elemento, indexación y slicing unidimensional y bidimensional, y uso de funciones estadísticas simples (sum, min, max, mean). Se asume también soltura con Python 3 (listas, comprensiones, funciones) y familiaridad mínima con entornos de trabajo como Jupyter Notebook o JupyterLab.