Volver a los cursos
AI018 Professional

Guía del usuario de NumPy

Una revisión introductoria completa y guía técnica sobre NumPy, que cubre la instalación, manipulación de matrices, indexación, difusión y la integración con C/C++.

4.9
15.0h
891 estudiantes
0 me gusta
Inteligencia Artificial
Comenzar a aprender

Descripción del curso

📚 Resumen del contenido

Una revisión introductoria completa y una guía técnica sobre NumPy, que cubre la instalación, manipulación de matrices, indexación, difusión (broadcasting) e integración con C/C++.

Domina los fundamentos del cálculo científico en Python con la guía oficial de NumPy.

Autor: La comunidad de NumPy

Agradecimientos: Escrito por la comunidad de NumPy

🎯 Objetivos de aprendizaje

  1. Definir NumPy e identificar su papel en el ecosistema científico de Python.
  2. Explicar por qué NumPy es significativamente más rápido que los bucles estándar de Python mediante el concepto de vectorización.
  3. Ejecutar comandos de instalación para diversos entornos, incluyendo Pip, Conda y Raspberry Pi.
  4. Identificar e interpretar los atributos principales del ndarray, como ndim, shape y dtype.
  5. Ejecutar la creación y manipulación de matrices usando funciones como linspace, reshape, vstack y hstack.
  6. Aplicar operaciones elementales, funciones universales (ufuncs) y resolutores de álgebra lineal a conjuntos de datos numéricos.
  7. Gestionar la precisión de los datos y mitigar errores de desbordamiento usando los tipos escalares de NumPy y herramientas de información (iinfo, finfo).
  8. Implementar la ingesta flexible de datos desde disco usando genfromtxt con delimitadores personalizados, encabezados y selección de columnas.
  9. Aplicar las Reglas Generales de Difusión para predecir y controlar las interacciones entre matrices de formas diferentes.
  10. Gestionar referencias de memoria y evitar "trampas" en subclases personalizadas de ndarray usando el atributo .base.

🔹 Lección 1: Introducción y configuración del entorno

Descripción general: Esta lección presenta NumPy como la biblioteca fundamental para el cálculo científico en Python, explicando sus ventajas de rendimiento mediante la vectorización. Los estudiantes aprenderán a instalar la biblioteca en diversas plataformas (Windows, Raspberry Pi, Conda, PyCharm) y resolver obstáculos comunes de instalación como ImportError mediante el manejo de variables de entorno y dependencias del sistema.

Resultados de aprendizaje:

  • Definir NumPy e identificar su papel en el ecosistema científico de Python.
  • Explicar por qué NumPy es significativamente más rápido que los bucles estándar de Python mediante el concepto de vectorización.
  • Ejecutar comandos de instalación para diversos entornos, incluyendo Pip, Conda y Raspberry Pi.

🔹 Lección 2: Fundamentos básicos y manipulación de matrices

Descripción general: Esta lección proporciona una introducción completa al objeto ndarray de NumPy, cubriendo sus atributos principales, métodos de creación y operaciones matemáticas básicas. Se extiende hacia temas avanzados, incluyendo indexación avanzada (basada en booleanos e enteros), manipulación de formas y rutinas esenciales de álgebra lineal. Al final de este módulo, los participantes podrán almacenar, transformar y analizar eficientemente estructuras de datos multidimensionales.

Resultados de aprendizaje:

  • Identificar e interpretar los atributos principales del ndarray, como ndim, shape y dtype.
  • Ejecutar la creación y manipulación de matrices usando funciones como linspace, reshape, vstack y hstack.
  • Aplicar operaciones elementales, funciones universales (ufuncs) y resolutores de álgebra lineal a conjuntos de datos numéricos.

🔹 Lección 3: Gestión avanzada de datos y difusión

Descripción general: Esta lección aborda los mecanismos avanzados de NumPy, centrándose en el manejo preciso de tipos de datos, el tratamiento del desbordamiento y operaciones I/O sofisticadas usando genfromtxt. Los estudiantes dominarán la lógica interna de la Difusión para operaciones aritméticas, los matices del orden de bytes a nivel de memoria y la creación de matrices estructuradas o de registros para conjuntos de datos heterogéneos. Las secciones finales detallan la extensibilidad de NumPy mediante contenedores de matrices personalizadas y los protocolos formales para subclasificar ndarray.

Resultados de aprendizaje:

  • Gestionar la precisión de los datos y mitigar errores de desbordamiento usando los tipos escalares de NumPy y herramientas de información (iinfo, finfo).
  • Implementar la ingesta flexible de datos desde disco usando genfromtxt con delimitadores personalizados, encabezados y selección de columnas.
  • Aplicar las Reglas Generales de Difusión para predecir y controlar las interacciones entre matrices de formas diferentes.

🔹 Lección 4: Excepciones numéricas e interfaz con lenguajes

Descripción general: Esta lección explora los matices avanzados de la subclasificación de NumPy, especialmente respecto al manejo de memoria y compatibilidad descendente. También examina cómo NumPy implementa el estándar IEEE 754 para valores flotantes para gestionar valores especiales y excepciones numéricas, concluyendo con los mecanismos para conectar matrices de NumPy con lenguajes de bajo nivel como C, C++ y Fortran.

Resultados de aprendizaje:

  • Gestionar referencias de memoria y evitar "trampas" en subclases personalizadas de ndarray usando el atributo .base.
  • Mantener la compatibilidad descendente en subclases implementando correctamente __array_wrap__ y las firmas de métodos.
  • Identificar y manipular valores especiales IEEE 754 (NaN, Inf) y configurar el comportamiento global de excepciones numéricas.

🔹 Lección 5: Extender NumPy con la API de C

Descripción general: Esta lección explora los diversos métodos para extender la funcionalidad de NumPy mediante la interfaz con lenguajes compilados como C, C++ y Fortran. Cubre herramientas automatizadas como f2py y Cython, envoltorios manuales con ctypes, la creación de funciones universales de alto rendimiento (ufuncs) y técnicas avanzadas de la API de C para iteración de matrices, tipos de datos personalizados y subtipos del ndarray.

Resultados de aprendizaje:

  • Comparar e implementar diversos métodos para "unir" código compilado con Python (f2py, Cython, ctypes).
  • Crear y registrar funciones universales personalizadas de NumPy (ufuncs) para tipos de datos simples y múltiples, incluyendo matrices estructuradas.
  • Utilizar la API de C de NumPy para realizar iteración eficiente de matrices, gestionar la difusión y definir tipos de datos o subtipos de ndarray personalizados.