Introduccion 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 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 datoIndexado 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.
Aplicación práctica en un caso real
Aplicar Introduccion a NumPy dentro del contexto de Python para Data Science con criterio práctico, evitando quedarse en una definición aislada. Para que esta lección sea útil, imagina un escenario concreto: tienes que usar este tema para mejorar un proceso, tomar una decisión, crear un entregable o explicar una recomendación a otra persona. La pregunta no es solo “qué significa”, sino “qué haría diferente después de entenderlo”.
Un buen uso empieza por delimitar el problema. Define qué resultado quieres lograr, qué información tienes disponible, qué restricciones existen y cómo sabrás si la decisión fue correcta. Esta forma de pensar evita respuestas genéricas y convierte el aprendizaje en una herramienta de trabajo.
Marco de decisión
Antes de avanzar, revisa tres niveles: primero, el objetivo operativo; segundo, los recursos disponibles; tercero, el riesgo de equivocarte. En Python para Data Science, muchas decisiones fallan porque se copia una táctica sin entender el contexto. El marco correcto te obliga a adaptar, no solo repetir.
- Objetivo: qué resultado medible o visible quieres conseguir.
- Contexto: quién usará esto, con qué nivel de experiencia y bajo qué restricciones.
- Acción: cuál es el siguiente paso mínimo que puedes ejecutar hoy.
- Señal: qué evidencia vas a observar para decidir si funcionó.
Ejemplo guiado
Supón que debes implementar esta idea en una pequeña empresa o proyecto personal. En vez de intentar una versión perfecta, prepara una versión mínima: una plantilla, una prueba, una lista de control, una automatización simple, una página, un mensaje o una medición inicial. Luego pide feedback o compara el resultado contra una métrica.
Si el resultado mejora, documenta el proceso. Si no mejora, identifica si falló la hipótesis, la ejecución o la medición. Esta distinción es clave: muchas personas abandonan una buena idea por una mala primera ejecución, o escalan una mala idea porque miraron la métrica equivocada.
Errores frecuentes
- Confundir actividad con avance: hacer muchas tareas sin saber qué resultado persiguen.
- Copiar ejemplos sin adaptarlos al cliente, audiencia, equipo o nivel técnico real.
- No dejar evidencia: si no registras decisiones y resultados, no aprendes del proceso.
- Querer automatizar o escalar antes de validar que el enfoque básico funciona.
Ejercicio práctico
- Escribe el objetivo de esta lección en una frase aplicada a tu caso.
- Define un entregable pequeño que puedas crear en menos de una hora.
- Lista tres criterios para evaluar si ese entregable está bien hecho.
- Ejecuta una versión inicial y anota qué cambiarías en una segunda iteración.
Checklist de salida
- Puedo explicar el concepto con mis propias palabras.
- Tengo un ejemplo aplicado, no solo una definición.
- Sé qué error debo evitar primero.
- Tengo una acción concreta para practicar esta semana.