Volver al curso

Python para Data Science

leccion
6 / 14
beginner
12 horas
NumPy: Computacion Numerica

Operaciones con NumPy

Lectura
15 min~2 min lectura

Operaciones vectorizadas

NumPy permite hacer operaciones en todo el array sin loops explicitos.

Operaciones aritmeticas

import numpy as np

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

# Operaciones elemento a elemento
a + b    # [11 22 33 44]
a - b    # [-9 -18 -27 -36]
a * b    # [10 40 90 160]
a / b    # [0.1 0.1 0.1 0.1]
a ** 2   # [1 4 9 16]

# Con escalares
a + 10   # [11 12 13 14]
a * 2    # [2 4 6 8]

Funciones matematicas

arr = np.array([1, 4, 9, 16, 25])

np.sqrt(arr)    # [1. 2. 3. 4. 5.]
np.exp(arr)     # exponencial
np.log(arr)     # logaritmo natural
np.sin(arr)     # seno
np.abs(arr)     # valor absoluto
np.round(arr, 2) # redondear

Funciones estadisticas

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

np.mean(data)    # 46.57 - promedio
np.median(data)  # 45.0 - mediana
np.std(data)     # 24.34 - desviacion estandar
np.var(data)     # 592.53 - varianza
np.min(data)     # 12
np.max(data)     # 89
np.sum(data)     # 326
np.percentile(data, 75)  # percentil 75

Operaciones en ejes

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

# axis=0: opera en columnas
np.sum(matriz, axis=0)   # [12 15 18]
np.mean(matriz, axis=0)  # [4. 5. 6.]

# axis=1: opera en filas
np.sum(matriz, axis=1)   # [6 15 24]
np.mean(matriz, axis=1)  # [2. 5. 8.]

Broadcasting

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

# Suma matriz (2,3) + vector (3,)
resultado = matriz + vector
# [[11 22 33]
#  [14 25 36]]