Introducción a numpy Manejando números, vectores y matrices Importando numpy Instalando numpy si no está… (en ubuntu/similar) sudo apt install python-numpy sudo pip install numpy Arreglos en numpy Generando vectores (arrays, arreglos, etc) Generando vectores (arrays, arreglos, etc) Calculando con arrays Ejercicio: ¿qué pasa si usamos listas? x = [1,2,3] y = [4,5,6] ¿¿¿x + 2 * y??? Slicing Seleccionando elementos: Seleccionando slices indicando el rango (¡último elemento excluido!) O indicando paso de incremento: Matrices (arrays multi-dimensionales) Operaciones sobre vectores Operaciones usando numpy son mucho más rápidas que hacer un for y aplicar la operación theta = np.linspace(0., 2. * np.pi, 10) np.sin(theta) Mucho mejor que for e in theta: math.sin(e) (idem para random: np.random) No Copy at All ¡La asignación no duplica datos! >>> a = np.arange(12) >>> b = a # no new object is created >>> b is a # a and b are two names for the same ndarray object True >>> b.shape = 3,4 # changes the shape of a >>> a.shape (3, 4) No Copy at All (incluyendo slicing) ¡La asignación no duplica datos! >>> a array([[ 0, 1, [1234, 5, [ 8, 9, >>> s = a[ : , 1:3] >>> s[:] = 10 >>> a array([[ 0, 10, [1234, 10, [ 8, 10, 2, 6, 10, 3], 7], 11]]) 10, 10, 10, 3], 7], 11]]) Resumen - Instalación de numpy import numpy as np a = np.array - a.dim a.shape a.dtype - np.arange / np.linspace / np.logspace np.zeros / np.ones Slicing np.sin / similar - asignación por referencia (no se copia) ¡A trabajar! Entregar 1 ejercicio resuelto de cada decena de la guía de Numpy