Clase 06 · 17 minGratis
NumPy: la librería que usas sin saberlo (y su relación con Bitcoin)
Clase 6 del curso gratis de Python para Análisis de Datos: qué es NumPy, por qué es tan rápida, arrays, matrices, shape, índices y slicing.
En el día a día de un científico de datos casi nunca usas NumPy directamente, pero siempre la estás usando: Pandas, Matplotlib y muchas herramientas de datos funcionan por debajo gracias a ella. Vale la pena saber qué hace.
Qué es y por qué es tan rápida
NumPy es la librería de Python para cálculo numérico: vectores, matrices y álgebra lineal. Está hecha en C, un lenguaje de bajo nivel que corre muy rápido, pero se usa desde Python.
Como dato curioso: las tarjetas gráficas son muy buenas haciendo operaciones entre matrices (sumar, restar, multiplicar millones de números a la vez). Por eso en una época se usaron para minar Bitcoin, que consiste en hacer operaciones matemáticas muy rápido. NumPy trabaja con esa misma idea de operar matrices de forma eficiente.
Importarla
import numpy as np # «np» es el alias estándar en toda la industriaArrays: como una lista, pero solo de números
enero = np.array([310.5, 95.2, 120.0])
febrero = np.array([280.0, 101.4, 98.3])
enero + febrero # suma elemento a elemento, sin ciclos
enero * 1.10 # subir todo un 10 %A diferencia de una lista, un array solo admite números: es matemática, no se pueden mezclar tipos.
Matrices y shape
gastos = np.array([
[310.5, 95.2, 120.0],
[280.0, 101.4, 98.3],
])
gastos.shape # (2, 3): 2 filas y 3 columnasTodas las filas deben tener el mismo tamaño. Si una tiene más elementos que otra, NumPy da error: aquí las reglas son estrictas.
Índices y slicing
En Python todo empieza en la posición 0.
gastos[0] # la primera fila
gastos[:, 1] # la segunda columna de todas las filas
gastos[0:2, 0] # un rango: filas 0 y 1 de la primera columnaPor qué importa
Ordenar los datos como una tabla o una matriz permite operar millones de registros muy rápido. Para unos pocos datos la diferencia es imperceptible; con gigas de información, se siente.
El reto de esta clase
Una matriz de 4 semanas por 3 categorías de gasto: calcula el total por semana y por categoría, encuentra la semana más cara y sube todo un 8 % sin usar ciclos. Enunciado y solución en el material de la clase.
