Subido por loadmovil

06 - Intro a numpy

Anuncio
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
Descargar