Python · Sección 12

NumPy: arrays, matrices y cálculo vectorizado

Creación, forma, tipos, indexación, broadcasting, operaciones vectorizadas y álgebra lineal básica con comprobaciones de dimensiones.

3
lecciones
3
ejercicios resueltos
CONTENIDO ORIGINAL

Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.

ANTES DE EMPEZAR

Ubícate antes de avanzar

01 / PUNTO DE PARTIDA

Conviene haber comprendido API, automatización y scripts confiables.

02 / META OBSERVABLE

Al terminar deberías poder relacionar Arrays y forma con Vectorización y resolver un caso nuevo.

03 / TIEMPO SUGERIDO

Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.

04 / PREPARA EL LABORATORIO

Instala Python 3 y utiliza IDLE o un editor como VS Code. Desde NumPy y Pandas trabaja dentro de un entorno virtual.

Abrir la guía de herramientas →
Diagnóstico rápido: ¿cómo se relacionan Arrays y forma y Vectorización?

No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.

Ruta guiada · 3 lecciones

Aprende el tema paso a paso

Usarás arrays homogéneos para cálculo numérico, comprobando forma, ejes y compatibilidad antes de operar.

Al terminar podrás
  • dtype, shape y ndim describen cómo NumPy organiza los datos
  • Vectorización aplica operaciones sin escribir el ciclo elemento por elemento
  • Multiplicación elemento a elemento y producto matricial responden preguntas distintas
01
Construir arrays

dtype, shape y ndim describen cómo NumPy organiza los datos

Un ndarray almacena elementos normalmente homogéneos en una forma multidimensional. shape indica el tamaño por eje, ndim el número de dimensiones y dtype la representación numérica. Una matriz 3×2 no es equivalente a un vector de seis elementos aunque contenga los mismos valores.

01

np.array convierte una secuencia compatible.

02

zeros, ones, arange y linspace generan patrones comunes.

03

Revisar shape evita operar sobre el eje equivocado.

Comprueba lo aprendido · 01

¿Qué significa shape (3, 2) en este ejemplo?

Mostrar respuesta

Hay tres elementos en el primer eje —las filas o días— y dos en el segundo —las columnas o sensores—.

02
Calcular por vectores

Vectorización aplica operaciones sin escribir el ciclo elemento por elemento

Las operaciones de NumPy actúan sobre arrays completos y suelen ejecutarse en código optimizado. Broadcasting permite combinar formas compatibles, alineando dimensiones desde la derecha. No se trata de “ignorar” los ciclos, sino de delegarlos a una implementación eficiente y clara.

01

Las operaciones aritméticas son elemento a elemento.

02

axis define la dimensión que se reduce.

03

Broadcasting solo es válido cuando las dimensiones son iguales o una vale 1.

Comprueba lo aprendido · 02

¿Qué diferencia habría entre mean(axis=0) y mean(axis=1)?

Mostrar respuesta

axis=0 reduce las filas y entrega un promedio por columna o sensor. axis=1 reduce las columnas y entrega un promedio por fila o día.

03
Matrices y álgebra

Multiplicación elemento a elemento y producto matricial responden preguntas distintas

* multiplica posiciones correspondientes; @ realiza producto matricial si las dimensiones internas coinciden. np.linalg ofrece resolución de sistemas, pero antes hay que verificar forma, condición y significado del modelo.

01

A * B exige formas compatibles por broadcasting.

02

A @ B requiere columnas de A iguales a filas de B.

03

Resolver un sistema no garantiza que el modelo represente bien el problema.

Comprueba lo aprendido · 03

¿Por qué se comprueba A @ x después de resolver?

Mostrar respuesta

Porque permite verificar que la solución reconstruye el vector b dentro de la tolerancia numérica y ayuda a detectar errores de forma o de transcripción.

Resumen de la sección

Tu recorrido en tres ideas

  1. dtype, shape y ndim describen cómo NumPy organiza los datos
  2. Vectorización aplica operaciones sin escribir el ciclo elemento por elemento
  3. Multiplicación elemento a elemento y producto matricial responden preguntas distintas
PROFUNDIZACIÓN / LABORATORIO GUIADO

Procesa una matriz de sensores sin perder su significado

Conecta dimensiones, tipos, ejes y vectorización con controles que evitan obtener un número correcto por casualidad.

CASO

Cinco sensores registran temperatura cada hora. Hay que resumirlos y detectar valores fuera de rango sin recorrer cada celda manualmente.

Procedimiento

  1. Define qué representa cada eje y comprueba shape, dtype y valores ausentes.
  2. Calcula resúmenes por hora y sensor con operaciones vectorizadas.
  3. Contrasta una muestra a mano y prueba qué ocurre con una forma incompatible.

Evidencia mínima

  • Shape y unidades documentadas.
  • Resultado vectorizado igual a un cálculo independiente.
  • Máscara de anomalías y conteos por eje.
Mostrar razonamiento modelo

El eje se decide desde la pregunta: si las filas son horas y las columnas sensores, axis=0 resume cada sensor. La validación usa una matriz pequeña cuyo resultado puede anticiparse antes de ejecutar.

Para ir más lejos

¿Cómo conservarías los ausentes sin convertirlos silenciosamente en cero?

CIERRE DE LA SECCIÓN

Comprueba que puedes usarlo

Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.

ERROR 01

Operar arrays sin revisar shape, dtype y eje.

ERROR 02

Confundir multiplicación elemento a elemento con producto matricial.

DESAFÍO INTEGRADOR

Ahora hazlo sin guía

Organiza mediciones de sensores en una matriz y calcula promedios por sensor y por día sin bucles explícitos.

Mostrar pauta de corrección
Una respuesta sólida:
  • Documenta qué representa cada dimensión y cada eje.
  • La operación vectorizada coincide con un ejemplo calculado a mano.
  • Distingue *, @ y broadcasting mediante formas compatibles.