Python para Data Science
Python para Data Science Texto Leccion

Operaciones con NumPy

Operaciones vectorizadas con NumPy La fuerza de NumPy está en operar sobre arrays completos sin escribir bucles. Esto se llama vectorización: aplicas una operación y NumPy la ejecuta sobre cada elemento de forma optimizada. El resultado es código más corto, más rápido y más fácil de leer. Aritmética elemento a elemento import numpy as np a = np.array([1, 2, 3, 4]) b = np.array([10, 20, 30, 40]) a + b # [11 22 33 44] a * b # [10 40 90 160] a ** 2 # [1 4 9 16] # Con escalares se aplica a todos los
Tiempo de estudio
15 Min

Operaciones vectorizadas con NumPy



La fuerza de NumPy está en operar sobre arrays completos sin escribir bucles. Esto se llama vectorización: aplicas una operación y NumPy la ejecuta sobre cada elemento de forma optimizada. El resultado es código más corto, más rápido y más fácil de leer.



Aritmética elemento a elemento



import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([10, 20, 30, 40])

a + b # [11 22 33 44]
a * b # [10 40 90 160]
a ** 2 # [1 4 9 16]

# Con escalares se aplica a todos los elementos
a + 10 # [11 12 13 14]
a * 2 # [2 4 6 8]


Funciones matemáticas y estadísticas



data = np.array([23, 45, 67, 12, 89, 34, 56])

np.mean(data) # promedio
np.median(data) # mediana
np.std(data) # desviación estándar
np.var(data) # varianza
np.min(data) # mínimo
np.max(data) # máximo
np.percentile(data, 75) # percentil 75

# Funciones aplicadas a cada elemento
arr = np.array([1, 4, 9, 16, 25])
np.sqrt(arr) # [1. 2. 3. 4. 5.]
np.log(arr) # logaritmo natural


Operaciones por eje



En una matriz, axis=0 recorre las filas (opera por columna) y axis=1 recorre las columnas (opera por fila).



matriz = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])

np.sum(matriz, axis=0) # [12 15 18] -> suma por columna
np.sum(matriz, axis=1) # [6 15 24] -> suma por fila
np.mean(matriz, axis=0) # [4. 5. 6.]


Broadcasting



NumPy expande automáticamente dimensiones compatibles para operar sin copiar datos manualmente.



matriz = np.array([[1, 2, 3],
[4, 5, 6]])
vector = np.array([10, 20, 30])

matriz + vector
# [[11 22 33]
# [14 25 36]]


Atención

El broadcasting solo funciona si las dimensiones son compatibles (iguales o una de ellas vale 1). Si ves un error operands could not be broadcast together, revisa los shape de tus arrays.



En una matriz, ¿qué calcula np.sum(matriz, axis=0)?

axis=0 recorre las filas hacia abajo, por lo que el resultado es la suma de cada columna.


Ejercicio práctico


Objetivo: usar la vectorización para calcular métricas reales.



  1. Crea un array con 10 temperaturas en grados Celsius.

  2. Conviértelas a Fahrenheit con una sola operación vectorizada (C * 9/5 + 32).

  3. Calcula media, mínimo, máximo y desviación estándar del array original.

  4. Crea una matriz 3x4 de ventas y obtén el total por columna (axis=0) y por fila (axis=1).


Entregable: notebook con el array convertido, las estadísticas y los totales por eje.



Para recordar


  • La vectorización aplica operaciones a todo el array sin bucles explícitos.

  • axis=0 = por columna; axis=1 = por fila.

  • El broadcasting combina arrays de distinto tamaño si sus dimensiones son compatibles.

Texto Leccion 2/14
Estas viendo
Operaciones con NumPy
Hablar por WhatsAppContactar por WhatsApp