Lección 5 de 14 · Lectura y práctica
Introducción a NumPy
NumPy: cálculo numérico en Python NumPy (Numerical Python) es la base de casi todo el ecosistema de datos. Aporta el array n-dimensional (ndarray), una estructura compacta y rápida sobre la que se construyen Pandas, scikit-learn.
Esta es una lección del contenido anterior de Cursalo. Si ya estudiaste o compraste este curso, entra con tu cuenta para guardar tu progreso y abrir el resto de las clases. No necesitas comprar nada de nuevo.
NumPy: cálculo numérico en Python
NumPy (Numerical Python) es la base de casi todo el ecosistema de datos. Aporta el array n-dimensional (ndarray), una estructura compacta y rápida sobre la que se construyen Pandas, scikit-learn y muchas otras librerías. Entender NumPy te da intuición sobre cómo se almacenan y procesan los datos por debajo.
¿Por qué un array y no una lista?
import numpy as np
lista = [1, 2, 3, 4, 5]
array = np.array([1, 2, 3, 4, 5])
# Un array guarda un solo tipo de dato y vive en memoria contigua,
# por eso las operaciones numéricas son mucho más rápidas que con listas.
Nota
Las operaciones de NumPy están escritas en C y se aplican a todo el array de golpe (vectorización). Eso evita los bucles lentos de Python y es la razón de su velocidad.
Crear arrays
# Desde una lista
arr = np.array([1, 2, 3, 4, 5])
# Matriz 2D
matriz = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Arrays especiales
ceros = np.zeros(5) # [0. 0. 0. 0. 0.]
unos = np.ones((3, 3)) # matriz 3x3 de unos
rango = np.arange(0, 10, 2) # [0 2 4 6 8]
lineal = np.linspace(0, 1, 5) # [0. 0.25 0.5 0.75 1.]
Propiedades clave de un array
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr.shape # (2, 3) -> 2 filas, 3 columnas
arr.ndim # 2 -> número de dimensiones
arr.size # 6 -> total de elementos
arr.dtype # int64 -> tipo de dato
Indexado y slicing
arr = np.array([10, 20, 30, 40, 50])
arr[0] # 10
arr[-1] # 50
arr[1:4] # [20 30 40]
arr[::2] # [10 30 50]
matriz = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matriz[1, :] # [4 5 6] -> fila 1 completa
matriz[:, 2] # [3 6 9] -> columna 2 completa
matriz[0:2, 1:] # [[2 3] [5 6]]
Para un array con shape = (4, 3), ¿cuántas filas y columnas tiene?
shape es el número de filas (4) y el segundo el de columnas (3).Ejercicio práctico
Objetivo: familiarizarte con la creación e inspección de arrays.
- Crea un array 1D con
np.arangeque contenga los números del 0 al 11. - Conviértelo en una matriz 3x4 (lo verás a fondo en la siguiente lección, prueba
reshape(3, 4)). - Imprime
shape,ndim,sizeydtypede la matriz. - Extrae la segunda fila completa y la última columna usando slicing.
Entregable: notebook con la matriz, sus propiedades y los dos cortes impresos.
Para recordar
- El
ndarrayes la estructura central; guarda un solo tipo de dato en memoria contigua. shape,ndim,sizeydtypedescriben cualquier array.- El slicing
matriz[fila, columna]selecciona filas, columnas o subbloques.