Numpy
Numpy
odulo 1 Numpy
Curso de Python Cientfico
Cesar Husillos Rodrguez
IAA-CSIC
Septiembre de 2014
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
1 / 137
Indice
1
2
3
4
C
esar Husillos Rodrguez (IAA-CSIC)
Antes de empezar...
Introduccion
Fundamentos
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
2 / 137
Antes de empezar...
Indice
1
2
3
4
C
esar Husillos Rodrguez (IAA-CSIC)
Antes de empezar...
Introduccion
Fundamentos
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
3 / 137
Antes de empezar...
Antes de empezar
Version de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
4 / 137
Antes de empezar...
Antes de empezar
Lo obvio
M
odulo 1 Numpy
Septiembre de 2014
5 / 137
Antes de empezar...
Antes de empezar
Uso de la ayuda
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
6 / 137
Antes de empezar...
Editando codigo
Lnea de comandos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
7 / 137
Antes de empezar...
Editando codigo
Editores de texto
M
odulo 1 Numpy
Septiembre de 2014
8 / 137
Antes de empezar...
Editando codigo
Entornos de Desarrollo Integrado (IDE)
M
odulo 1 Numpy
Septiembre de 2014
9 / 137
Antes de empezar...
Editando codigo
Entornos de desarrollo intergrado (IDE)
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
10 / 137
Introducci
on
Indice
1
2
3
4
C
esar Husillos Rodrguez (IAA-CSIC)
Antes de empezar...
Introduccion
Fundamentos
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
11 / 137
Introducci
on
Introduccion
Que es NUMPY?
Tipos de datos
Clases
3
4
Funciones
Modulos
M
odulo 1 Numpy
Septiembre de 2014
12 / 137
Introducci
on
Introduccion
Ventajas
1
2
Multiplataforma.
Potente conjunto de libreras.
Puede clonar la funcionalidad de cualquier otro
paquete de calculo numerico (MATEM
ATICA, MATLAB)
Perfecta integraci
on con el Core de PYTHON.
Interactua con los tipos de datos y estructuras
propios del lenguaje.
Gratuito.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
13 / 137
Introducci
on
Introduccion
Que vamos a aprender en este M
odulo?
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
14 / 137
Fundamentos
Indice
1
2
3
4
C
esar Husillos Rodrguez (IAA-CSIC)
Antes de empezar...
Introduccion
Fundamentos
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
15 / 137
Fundamentos
Arrays
Definici
on
Un array es...
Un tipo de dato compuesto a partir de tipos de
datos sencillos.
Estan ordenados segun una secuencia definida.
Como en una lista o una tupla?
- S en cuanto al requisito de ordenacion.
- No en cuanto al contenido, porque solo admite un tipo
de dato por array.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
16 / 137
Fundamentos
Arrays
Algunos tipos de datos
|Sn
bool
int
int8
int16
int32
int64
uint8
uint16
uint32
uint64
float
float32
float64
complex
complex64
complex128
Los tipos se referencian como cadena (int) o como constante numpy (numpy.int).
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
17 / 137
Fundamentos
Arrays
Propiedades
Descripci
on
ndarray.shape
ndarray.ndim
ndarray.size
ndarray.itemsize
ndarray.nbytes
ndarray.dtype
ndarray.real
ndarray.imag
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
18 / 137
Fundamentos
Arrays
Propiedades: ejemplo
>>> a
array ([[1 , 2 , 3] ,
[4 , 5 , 6]])
>>> a . shape
(2 , 3)
>>> a . ndim
2
>>> a . size
6
>>> a . itemsize
8
C
esar Husillos Rodrguez (IAA-CSIC)
>>> a . nbytes
48
>>> a . dtype
dtype ( int64 )
>>> a . real
array ([[1 , 2 , 3] ,
[4 , 5 , 6]])
>>> a . imag
array ([[0 , 0 , 0] ,
[0 , 0 , 0]])
M
odulo 1 Numpy
Septiembre de 2014
19 / 137
Fundamentos
Manejo basico
Indice
Creacion.
Indexacion.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
20 / 137
Fundamentos
Manejo basico
Creaci
on de arrays
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
21 / 137
Fundamentos
Creacion de arrays
1. Uso tipos de dato nativos de PYTHON
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
22 / 137
Fundamentos
Creacion de arrays
1. Uso tipos de dato nativos de PYTHON
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
23 / 137
Fundamentos
Creacion de arrays
2. Mediante el uso de funciones de NUMPY
M
odulo 1 Numpy
5.4 ,
5.5 ,
Septiembre de 2014
24 / 137
Fundamentos
Creacion de arrays
2. Mediante el uso de funciones de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
25 / 137
Fundamentos
Creacion de arrays
2. Mediante el uso de funciones de NUMPY
numpy.ones(shape, dtype=None)
shape, es la forma del array de salida (entero o lista/tupla). Si
le pasamos una lista o tupla, crea un array n-dimensional con
la forma (shape) dada por la lista/tupla.
dtype, cualquiera de los tipos de datos de NUMPY.
>>> numpy . ones (4 , dtype = numpy . complex128 )
array ([ 1.+0. j , 1.+0. j , 1.+0. j , 1.+0. j ])
>>> numpy . ones ([2 ,3] , dtype = int )
array ([[1 , 1 , 1] ,
[1 , 1 , 1]])
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
26 / 137
Fundamentos
Creacion de arrays
2. Mediante el uso de funciones de NUMPY
numpy.zeros(shape, dtype=float)
Exactamente el mismo comportamiento que
numpy.ones.
>>> numpy . zeros ((2 ,3 ,4))
array ([[[ 0. , 0. , 0. , 0.] ,
[ 0. , 0. , 0. , 0.] ,
[ 0. , 0. , 0. , 0.]] ,
[[ 0. ,
[ 0. ,
[ 0. ,
C
esar Husillos Rodrguez (IAA-CSIC)
0. ,
0. ,
0. ,
0. ,
0. ,
0. ,
0.] ,
0.] ,
0.]]])
M
odulo 1 Numpy
Septiembre de 2014
27 / 137
Fundamentos
Creacion de array
3. Lectura de ficheros
line 1 -> objID , RAJ2000 , e_RAJ2000 , DEJ2000 , e_DEJ2000 , upmag , e_upmag , gpmag , e_gpmag , rpmag , e_rpma
line 2 -> 1237657610717364296 ,138.692294 ,0.002 ,46.253899 ,0.002 ,18.049 ,0.015 ,16.904 ,0.033 ,16.
...
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
28 / 137
Fundamentos
Creacion de arrays
3. Lectura de ficheros
M
odulo 1 Numpy
Septiembre de 2014
29 / 137
Fundamentos
Creacion de arrays
4. Mediante copia de otro array
M
odulo 1 Numpy
Septiembre de 2014
30 / 137
Fundamentos
Creacion de arrays
4. Mediante copia de otro array
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
31 / 137
Fundamentos
Creacion de arrays
4. Mediante copia de otro array
Metodo/Funcion copy...
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
32 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
33 / 137
Fundamentos
Indexacion
Posibilidades
Tipo de selecci
on
Un solo elemento
Varios elementos consecutivos
Elementos en orden cualesquiera
Sintaxis
array[posicion]
array[inicio:fin]
array[[p1, p2,..., pn]]
Recordatorio
Los ndices pueden tomar valores negativos. Al igual que en las
secuencias de PYTHON cuentan las posiciones desde el final del array.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
34 / 137
Fundamentos
Indexacion
Posibilidades
M
odulo 1 Numpy
Septiembre de 2014
35 / 137
Fundamentos
Ejercicios
Ejercicios 1, 2, 3 y 4
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
36 / 137
Fundamentos
Complicando un poco...
Arrays N-dimensionales
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
37 / 137
Fundamentos
Arrays n-dimensionales
Creaci
on
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
38 / 137
Fundamentos
Arrays n-dimensionales
Creaci
on
Creacion ad-hoc
>>> numpy . ones ((2 , 3))
array ([[ 1. , 1. , 1.] ,
[ 1. , 1. , 1.]])
C
esar Husillos Rodrguez (IAA-CSIC)
1. ,
1. ,
1.] ,
1.]])
M
odulo 1 Numpy
Septiembre de 2014
39 / 137
Fundamentos
Arrays n-dimensionales
Creaci
on
Uso de la m
etodo reshape
>>> a = numpy . ones (10)
>>> a . shape
(10 ,)
>>> b = a . reshape ((2 ,5))
>>> a . shape
(10 ,)
>>> b . shape
(2 , 5)
# lista o tupla
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
40 / 137
Fundamentos
Arrays n-dimensionales
Indexado
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
41 / 137
Fundamentos
Arrays n-dimensionales
Indexado
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
])
])
Septiembre de 2014
42 / 137
Fundamentos
Ejemplo
Indexado
>>> a [0]
# equivalente a:
#
a [0 ,: ,:]
array ([[ 0 , 1 , 2 , 3] ,
[ 4 , 5 , 6 , 7] ,
[ 8 , 9 , 10 , 11]])
>>> a [0 ,0] # e q u i v a l e n t e a :
#
a [0 , 0 , :]
array ([0 , 1 , 2 , 3])
>>> a [0 ,0 ,0]
0
Pregunta...
Que resultado obtendra si escribo a[1,1:3,:2]?
(Tomese su tiempo y escriba la respuesta en un papel)
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
43 / 137
Fundamentos
Indexado
Arrays n-dimensionales
Respuesta
>>> a
array ([[[ 0 ,
[ 4,
[ 8,
1 , 2 , 3] ,
5 , 6 , 7] ,
9 , 10 , 11]] ,
[[12 , 13 , 14 , 15] ,
[16 , 17 , 18 , 19] ,
[20 , 21 , 22 , 23]]])
>>> a [1 ,1:3 ,:2]
array ([[16 , 17] ,
[20 , 21]])
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
44 / 137
Fundamentos
Ejercicios
Ejercicios 5, 6 y 7
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
45 / 137
Fundamentos
Descripci
on
Inserta en las posiciones dadas por obj del eje axis,
los valores values (escalar o secuencia).
Agrega al final del array arr en el eje axis el valor o
valores dados por values (escalar o secuencia).
Devuelve un array en el que se han borrado los elementos
dados por los ndices obj del eje axis.
M
odulo 1 Numpy
Septiembre de 2014
46 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
47 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
48 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
49 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
50 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
51 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
52 / 137
Fundamentos
Descripci
on
Apila los arrays de la secuencia seq horizontalmente (agrega
columnas).
Apila los arrays de la secuencia seq verticalmente (agrega filas).
M
odulo 1 Numpy
Septiembre de 2014
53 / 137
Fundamentos
Descripci
on
Divide array en subarrays por columnas. Misma forma de subarray
si se da escalar. Corta por las columnas dadas en seq.
Divide en subarrays por filas.
M
odulo 1 Numpy
Septiembre de 2014
54 / 137
Fundamentos
Ejercicios
Ejercicios 8 y 9
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
55 / 137
Fundamentos
Operaciones aritmeticas
Supongamos que quiero sumar un numero a un array.
Como se hace?.
Caso de listas PYTHON
>>>
>>>
>>>
>>>
...
>>>
[4 ,
>>>
>>>
inicial = [1 , 3 , 6 , -1]
# sumar 3
final = list ()
for elem in inicial :
final . append ( elem + 3)
final
6 , 9 , 2]
o mas pythonicamente
final = [ elem + 3 for elem in inicial ]
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
56 / 137
Fundamentos
Operaciones aritmeticas
En el caso de arrays, la simplificacion es notable.
>>> a_inicial = numpy . array ([1 , 3 , 6 , -1] , dtype = int )
>>> a_inicial
array ([ 1 , 3 , 6 , -1])
>>> a_final = a_inicial + 3
>>> a_final
array ([4 , 6 , 9 , 2])
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
57 / 137
Fundamentos
Operaciones aritmeticas
Podemos +, -, * y / cualquier array con un numero.
Tendremos problemas si realizamos operaciones de valor
no definido.
Resultados no definidos
>>> a = numpy . arange (4)
>>> print a
[0 1 2 3]
>>> b = a /0.
>>> print b
[ nan inf inf inf ]
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
58 / 137
Fundamentos
Operaciones aritmeticas
Entre arrays
3. ,
3. ,
3.] ,
3.]])
2] ,
5]])
3. ,
12. ,
C
esar Husillos Rodrguez (IAA-CSIC)
6.] ,
15.]])
M
odulo 1 Numpy
Septiembre de 2014
59 / 137
Fundamentos
Operaciones aritmeticas
Entre arrays
M
odulo 1 Numpy
Septiembre de 2014
60 / 137
Fundamentos
Operaciones aritmeticas
Entre arrays
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
61 / 137
Fundamentos
Operaciones relacionales
Son las que comparan un array con un dato simple o
las que comparan arrays entre s.
El resultado es un array de valores booleanos
(True/False).
Operadores relacionales
>, <, >=, <=, (mayor que, menor que, mayor o igual
que, menor o igual que)
== (igual que)
! = (distinto que)
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
62 / 137
Fundamentos
Operaciones relacionales
Ejemplo 1
M
odulo 1 Numpy
Septiembre de 2014
63 / 137
Fundamentos
Operaciones Logicas
Son las que se dan entre datos (ya sean tipos
simples o arrays) de tipo booleano.
El resultado es un valor o array de tipo booleano
(True/False).
Se realizan elemento a elemento.
Operadores logicos
& (y/AND logico)
| (o/OR logico)
(no/NOT logico). Este operador es unario (solo necesita
un operando).
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
64 / 137
Fundamentos
Operaciones logicas
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
65 / 137
Fundamentos
Descripci
on
Testeo de valor True
Comprueba si todos los elementos del eje axis del
array son True.
Comprueba si alg
un elemento del eje axis del array es
True.
Relacionales
Devuelve True si los arrays tienen sus elementos
iguales dentro de un intervalo de tolerancia.
True si dos arrays tienen la misma forma y elementos.
False en caso contrario.
Devuelve el valor de la comparaci
on (x1 > x2) elemento
a elemento.
Devuelve el valor de la comparaci
on (x1 >= x2)
elemento a elemento.
Devuelve el valor de la comparaci
on (x1 < x2)
elemento a elemento.
Devuelve el valor de la comparaci
on (x1 <= x2)
elemento a elemento.
Devuelve (x1 == x2) elemento a elemento.
Devuelve (x1! = x2) elemento a elemento.
M
odulo 1 Numpy
Septiembre de 2014
66 / 137
Fundamentos
Funci
on
logical and(x1, x2)
logical or(x1, x2)
logical not(x)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
L
ogicas
Determina el valor de x1 AND x2 elemento a elemento.
Determina el valor de x1 OR x2 elemento a elemento.
Determina el valor del NOT x1 elemento a elemento.
M
odulo 1 Numpy
Septiembre de 2014
67 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
68 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
69 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
70 / 137
Fundamentos
Descripci
on
Devuelve un array de booleanos, con True para los elementos complejos.
Comprueba el tipo complejo para un array. True si es complejo.
Devuelve un array de booleanos, con True en aquellas posiciones donde
el elemento es real.
Devuelve True si x no es de tipo complejo o un array de n
umeros
complejos.
Devuelve True si el tipo de num es escalar.
Septiembre de 2014
71 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
72 / 137
Fundamentos
M
odulo 1 Numpy
Septiembre de 2014
73 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
74 / 137
Fundamentos
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
75 / 137
Fundamentos
Ejercicios
Del 10 al 15
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
76 / 137
Uso de NUMPY
Indice
1
2
3
4
C
esar Husillos Rodrguez (IAA-CSIC)
Antes de empezar...
Introduccion
Fundamentos
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
77 / 137
Uso de NUMPY
ESQUEMA
1
2
3
4
5
6
7
8
9
10
Metodos de entrada/salida
Ordenacion
Busquedas
Matematicas
Estadstica basica
Correlaciones y covarianzas
Muestreo aleatorio
Polinomios
Ajustes
Arrays con mascaras
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
78 / 137
Uso de NUMPY
Metodos de Entrada/Salida
ndarray.tolist()
ndarray.tofile(fid[
,sep,format])
numpy.fromfile(file[
,dtype=float,
count=-1, sep=])
ndarray.dump(file)
ndarray.dumps()
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
79 / 137
Uso de NUMPY
Metodos de Entrada/Salida
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
80 / 137
Uso de NUMPY
Metodos de Entrada/Salida
Ejemplo de I/O
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
81 / 137
Uso de NUMPY
Metodos de Entrada/Salida
Ejemplo de I/O
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
82 / 137
Uso de NUMPY
Metodos de Entrada/salida
Funcion numpy.genfromtxt
M
odulo 1 Numpy
Septiembre de 2014
83 / 137
Uso de NUMPY
Metodos de Entrada/salida
Funcion numpy.genfromtxt
M
odulo 1 Numpy
Septiembre de 2014
84 / 137
Uso de NUMPY
Metodos de Entrada/salida
Funcion numpy.genfromtxt
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
85 / 137
Uso de NUMPY
Funcion numpy.genfromtxt
Ejemplo 1
Para los ejercicios que siguen, usaremos los datos del fichero
NucleosPoblacion.csv, disponible en la web del curso.
Es un fichero en formato texto.
la primera lnea contiene los nombres de los campos.
El caracter separador es ;.
>>> data = numpy . genfromtxt ( N uc l e o s P o b l a c i o n . csv , delimiter = ; , \
dtype = None , names = True )
>>> data . dtype . names # acceso a nombres de c o l u m n a s
( FID , OBJECTID , CodINE , Texto , Poblacion , CodMun ,
Municipio , CodProvin , Provincia , X , Y )
>>> data [ Poblacion ]. dtype # acceso a cada array por c o l u m n a s
dtype ( float64 )
>>> data [ Municipio ]. size
852
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
86 / 137
Uso de NUMPY
Ejercicios
Ejercicio 16
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
87 / 137
Uso de NUMPY
Ordenacion de arrays
Toda la informacion se maneja mejor cuando hay algun tipo de
ordenacion.
NUMPY proporciona rutinas para ordenar arrays, sean del tipo o
dimension que sean.
Funci
on
numpy.sort(a, axis=-1)
numpy.argsort(a, axis=-1)
Descripci
on
Devuelve un array el mismo tipo y forma, ordenado de menor
a mayor seg
un el eje axis. Si es None, transforma el array
a 1D y ordena.
Devuelve un array de posiciones que ordenara el original
de menor a mayor seg
un axis dado. Si axis=None,
transforma a 1D y retorna los ndices.
NOTA:
En un array 2D, axis=0 corresponde a filas, axis=1 a columnas.
En un array 3D, axis=0 corresponde a profundidad, axis=1 a filas y axis=2 a
columnas.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
88 / 137
Uso de NUMPY
Ordenacion de arrays
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
89 / 137
Uso de NUMPY
Busqueda en arrays
Se buscan elementos en funcion de uno o varios criterios.
Esos criterios se combinan mediante funciones u operadores logicos,
resultando en un array de booleanos.
numpy.where(condici
on,
a1, a2)
numpy.extract(condici
on, a)
numpy.compress(condici
on, a,
axis=None)
C
esar Husillos Rodrguez (IAA-CSIC)
- condici
on es un array de booleanos.
Devuelve un array con los elementos de a1 donde la
condici
on es cierta y los de a2 si es falsa.
Los 3 par
ametros son arrays de la misma forma (shape),
o compatibles seg
un reglas de broadcast.
Devuelve los elementos de array donde condici
on
es True. Devuelve siempre un array unidimensional,
independientemente de la dimensi
on del array inicial.
condici
on y a, deben tener la misma forma.
Es la generalizaci
on de extract.
Retorna un array n-dimensional. La condici
on puede
aplicarse a una u otras dimensiones, seg
un el array
a de entrada.
Si la longitud de la condici
on es menor que
el tama
no del array en ese eje, la salida se trunca
a la longitud de la condici
on.
M
odulo 1 Numpy
Septiembre de 2014
90 / 137
Uso de NUMPY
Busqueda en arrays
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
91 / 137
Uso de NUMPY
Busqueda en arrays
Ejemplo 2
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
92 / 137
Uso de NUMPY
Busqueda en arrays
Valores especiales
Funci
on
argmax(a[, axis=None])
nanargmax(a[, axis=None])
argmin(a[, axis=None])
nanargmin(a[, axis=None])
nonzero(a)
flatnonzero(a)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Devuelve los ndices de los valores iguales al m
aximo seg
un el
eje axis. Si axis=None buscan en todo el array.
Devuelve los ndices de los valores iguales al m
aximo en el eje
dado por axis. Ignora los NaNs. (axis=None, todo el array.)
Devuelve los ndices de los valores iguales al mnimo seg
un el
eje axis. (axis=None, en todo el array.)
Devuelve los ndices de los valores iguales al mnimo seg
un el
eje axis. Ignora los NaNs. (axis=None, en todo el array.)
Devuelve una tupla de arrays, una por cada dimensi
on de a,
conteniendo los ndices de los elementos que no son cero en
esa dimensi
on.
Devuelve los ndices de los elementos que no son cero en la
versi
on 1D del array a.
M
odulo 1 Numpy
Septiembre de 2014
93 / 137
Uso de NUMPY
Busqueda en arrays
Funci
on
nonzero(a)
isnan(a)
isinf(a)
Descripci
on
Devuelve los ndices de los elementos que no son cero.
Devuelve un array de booleanos:
- True en las posiciones donde hay nan
- False en caso contrario.
Devuelve un array de booleanos:
- True en las posiciones donde hay valores infinite
- False en caso contrario.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
94 / 137
Uso de NUMPY
Valores especiales
Ejemplo 1
>>> b = numpy . arange (10)
>>> b = b . reshape ((2 ,5))
>>> b
array ([[0 , 1 , 2 , 3 , 4] ,
[5 , 6 , 7 , 8 , 9]])
>>> numpy . argmax ( b )
9
>>> numpy . argmax (b , axis =0)
array ([1 , 1 , 1 , 1 , 1])
>>> numpy . argmax (b , axis =1)
array ([4 , 4])
>>> d = numpy . arange (4)
>>> e = d / 0.
>>> e
array ([ nan , inf , inf , inf ])
>>> numpy . isnan ( e )
array ([ True , False , False , False ] , dtype = bool )
>>> numpy . isinf ( e )
array ([ False , True , True , True ] , dtype = bool )
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
95 / 137
Uso de NUMPY
Ejercicios
Del 17 al 21
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
96 / 137
Uso de NUMPY
Operaciones matematicas
Trigonom
etricas
sin(x)
cos(x)
tan(x)
arcsin(x)
arccos(x)
arctan(x)
hypot(x, y)
degrees(x)
radians(x)
deg2rad(x)
rad2deg(x)
Redondeo
around(a[, decimals])
round (a[, decimals,])
rint(x)
fix(x)
floor(x)
ceil(x)
trunc(x)
Hyperb
olicas
sinh(x)
cosh(x)
tanh(x)
acrsinh(x)
arctan(x)
M
odulo 1 Numpy
Septiembre de 2014
97 / 137
Uso de NUMPY
Estadstica basica
De ordenaci
on
Funci
on
numpy.amin(a, axis=None)
numpy.amax(a, axis=None)
numpy.nanmin(a, axis=None)
numpy.nanmax(a, axis=None)
numpy.ptp(a, axis=None)
numpy.percentile(a, q, axis=None)
Descripci
on
Devuelve un array (o escalar) con el valor mnimo
del array a lo largo del eje dado por axis.
Devuelve un array (o escalar) con el valor m
aximo
del array a lo largo del eje dado por axis.
Devuelve un array (o escalar) con el valor mnimo
del array a lo largo del eje dado por axis.
Ignora los valores NaN.
Devuelve un array (o escalar) con el valor m
aximo
del array a lo largo del eje dado por axis.
Ignora los valores NaN.
Devuelve el rango de valores (m
aximo - mnimo)
en el axis dado. El nombre de esta funci
on viene
del acr
onimo peak to peak.
Calcula y devuelve el percentil q-
esimo del array a
en el eje axis especificado. q (escalar) en [0,100].
M
odulo 1 Numpy
Septiembre de 2014
98 / 137
Uso de NUMPY
Estadstica basica
Ejemplo 1
>>> a = numpy . array ([[5 , 6 , 1] , [2 , 3 , 8]])
>>> print a
[[5 6 1]
[2 3 8]]
>>> print numpy . amax ( a )
8
>>> print numpy . amax (a , axis =0)
[5 6 8]
>>> print numpy . amax (a , axis =1)
[6 8]
>>> print numpy . percentile (a , 25)
2.25
>>> print numpy . percentile (a , 25 , axis =0)
[ 2.75 3.75 2.75]
>>> print numpy . percentile (a , 25 , axis =1)
[ 3.
2.5]
>>> print numpy . ptp ( a )
7
>>> print numpy . ptp (a , axis =1)
[5 6]
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
99 / 137
Uso de NUMPY
Estadstica basica
Ejemplo 2
>>> b = numpy . array ([[5 , numpy . nan , 1] , [2 , 3 , numpy . nan ]])
>>> print numpy . amin ( b )
nan
>>> print numpy . amax ( b )
nan
>>> print numpy . nanmin ( b )
1.0
>>> print numpy . nanmin (b , axis =0)
[ 2. 3. 1.]
>>> print numpy . nanmin (b , axis =1)
[ 1. 2.]
>>> print numpy . nanmax (b , axis =1)
[ 5. 3.]
>>> print numpy . ptp ( b )
nan
>>> print numpy . ptp (b , axis =0)
[ 3. nan nan ]
>>> print numpy . ptp (b , axis =1)
[ nan nan ]
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
100 / 137
Uso de NUMPY
Estadstica basica
M
odulo 1 Numpy
Septiembre de 2014
101 / 137
Uso de NUMPY
Estadstica basica
Valores promedio y varianzas
Funci
on
numpy.average(a, axis=None,
weights=None)
numpy.mean(a, axis=None,
dtype=None)
numpy.median(a, axis=None)
numpy.std(a, axis=None,
dtype=None, ..., ddof=0)
numpy.var(a, axis=None,
dtype=None, ..., ddof=0)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Devuelve un escalar o array con la media pesada del
array a por los valores weights en el eje axis
seleccionado. Los pesos pueden ser arrays 1-D, en cuyo
caso ha de tener la misma longitud que a en el eje
seleccionado. Si weights=None se asume el mismo peso
(valor=1) para todos los elementos.
Devuelve un escalar o array con la media aritm
etica
del array sobre el axis dado. dtype establece el tipo
de datos de entrada sobre el que promediar. El valor
asignado por defecto es el del tipo del array.
Devuelve un escalar o array con la mediana del array para
el eje seleccionado.
Devuelve un escalar o array con la desviaci
on est
andar en
el eje seleccionado. ddof es el acr
onimo de Delta Degrees
of Freedom. El denominador usado en los c
alculos
es N ddof , donde N es el n
umero de elementos.
Devuelve un escalar o array con la varianza de los
elementos del array en el eje seleccionado. Misma leyenda
que std para el resto de par
ametros.
M
odulo 1 Numpy
Septiembre de 2014
102 / 137
Uso de NUMPY
Estadstica basica
Ejemplo 3
>>> a = numpy . arange (4). reshape ((2 , 2))
>>> a
array ([[0 , 1] ,
[2 , 3]])
>>> print numpy . average (a , axis =1 , weights =(0 , 1))
[ 1. 3.]
>>> print numpy . mean (a , axis =0)
[ 1. 2.]
>>> print numpy . mean (a , axis =1)
[ 0.5 2.5]
>>> print numpy . median ( a )
1.5
>>> print numpy . median (a , axis =1)
[ 0.5 2.5]
>>> print numpy . std ( a )
1.11803398875
>>> print numpy . var ( a )
1.25
>>> print numpy . std ( a ) * numpy . std ( a )
1.25
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
103 / 137
Uso de NUMPY
Estadstica basica
Histogramas
Funci
on
numpy.histogram(a, bins=10,
range=None, normed=False,
weights=None, density=None)
numpy.histogram2d(x, y,
bins=10, range=None,
normed=False, weights=None)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Devuelve una tupla con dos arrays: (histograma, bins)
de la versi
on 1D del array. bins, puede ser un n
umero,
lista o array ( con intervalos no uniformes).
Si normed=True, retorna el histograma normalizado.
Pueden pesarse los elementos del array.
Si weights=None todos los elementos cuentan como 1.
Si no, debe ser un array de la misma forma que a.
normed afecta tambi
en a weights.
density es un booleano. Si es False el histograma
devuelve el n
umero de elementos por cada bin. Si no
devuelve el valor de la funci
on densidad de probabilidad
de cada bin, normalizada a todo el rango de bins.
Devuelve la tupla de arrays: (histo, bins x, bins y)
x e y son arrays. bins puede tomar:
- un valor entero (n
um. divisiones en cada dimensi
on),
- [entero, entero] (num. divisiones en cada eje),
- un array (v
alido para los dos ejes) o
- [array, array], uno para cada dimensi
on.
M
odulo 1 Numpy
Septiembre de 2014
104 / 137
Uso de NUMPY
Estadstica basica
Histogramas
Funci
on
numpy.digitize(a, bins,
right=False)
numpy.bincount(x,
weights=None, minlength=None)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Devuelve un array de ndices. Cada ndice indica a qu
e
intervalo de bins pertenece el elemento del array.
bins debe ser mon
otono creciente o decreciente.
Si los valores de a est
an fuera del rango de bins,
devuelve 0 para ese elemento.
Si right=True el intervalo de bins es cerrado.
Devuelve el n
umero de ocurrencias de cada valor del
array en cada uno de los intervalos bin (por defecto
de anchura igual a 1).
M
odulo 1 Numpy
Septiembre de 2014
105 / 137
Uso de NUMPY
Estadstica basica
Histogramas: Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
106 / 137
Uso de NUMPY
Ejercicios
Del 22 al 26
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
107 / 137
Uso de NUMPY
Correlaciones y covarianzas
Covarianza
En probabilidad y estadstica, la covarianza es un valor que indica el grado de variaci
on
conjunta de dos variables aleatorias. Es el dato b
asico para determinar si existe una
dependencia entre ambas variables y adem
as es el dato necesario para estimar otros
par
ametros b
asicos, como el coeficiente de correlaci
on lineal o la recta de regresi
on.
Correlaci
on
En probabilidad y estadstica, la correlaci
on indica la fuerza y la direcci
on de una relaci
on
lineal y proporcionalidad entre dos variables estadsticas. Se considera que dos variables
cuantitativas est
an correlacionadas cuando los valores de una de ellas varan sistem
aticamente
con respecto a los valores hom
onimos de la otra: si tenemos dos variables (A y B) existe
correlaci
on si al aumentar los valores de A lo hacen tambi
en los de B y viceversa. La
correlaci
on entre dos variables no implica, por s misma, ninguna relaci
on de causalidad.
FUENTE: Wikipedia.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
108 / 137
Uso de NUMPY
Correlaciones y covarianzas
Funci
on
numpy.cov(m, y=None,
rowvar=1, bias=0,
ddof=None)
numpy.correlate(a, v,
mode=valid)
numpy.corrcoef(x,
y=None, rowvar=1,
bias=0, ddof=None)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Estima la matriz de covarianza. m es un array 1D o 2D.
Cada columna de m representa una observaci
on. Cada fila, una
variable. y es un conjunto adicional de observaciones (misma
forma que m). Si rowvar es distinta de cero, cada fila
representa una variable. Cada columna una observaci
on.
bias es un entero. Si es cero, se trasponen filas y columnas.
La normalizaci
on por defecto es (N 1), donde N es el n
um.
de observaciones. Si bias = 1 la normalizaci
on es N.
ddof sobreescribe a bias. Si es distinto de None, la
normalizaci
on es (N ddof ).
Correlaciona
dos arrays 1D seg
un la expresi
on
P
z[k] = n a[n] conj(v [n + k])
mode vale full, valid o same, que establece los lmites
del desplazamiento (n) entre arrays (ver documentaci
on).
C
Devuelve los coeficientes de correlaci
on Pij = ij .
Cii Cjj
Septiembre de 2014
109 / 137
Uso de NUMPY
Estadstica basica
Correlaciones y covarianzas: Ejemplo 1
>>> x = [ -2.1 , -1 , 4.3]
>>> y = [3 , 1.1 , 0.12]
>>> X = numpy . vstack (( x , y ))
>>> print X
[[ -2.1 -1.
4.3 ]
[ 3.
1.1
0.12]]
>>> print numpy . cov ( X )
[[ 11.71
-4.286
]
[ -4.286
2.14413333]]
>>> print numpy . cov (x , y )
[[ 11.71
-4.286
]
[ -4.286
2.14413333]]
>>> print numpy . cov (y , x )
[[ 2.14413333
-4.286
]
[ -4.286
11.71
]]
>>> print numpy . cov ( x )
11.71
>>> print numpy . var (x , ddof =1)
11.71
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
110 / 137
Uso de NUMPY
Estadstica basica
Correlaciones y covarianzas: Ejemplo 2
M
odulo 1 Numpy
Septiembre de 2014
111 / 137
Uso de NUMPY
Muestreo aleatorio
Hemos de importar de forma explcita este modulo.
import numpy.random
Funci
on
rand(d0, d1, ..., dn)
randn(d0, d1, ..., dn)
randint(low, high=None,
size=None)
random integers(low,
high=None, size=None)
choice(a, size=1,
replace=True, p=None)
shuffle(x)
permutation(x)
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Devuelve una array de dimensi
on (d0, d1, ..., dn) con
n
umeros aleatorios en [0, 1).
Muestra de dimensi
on (d0, d1, ..., dn) elementos de una
distribuci
on normal est
andar.
Devuelve size num enteros en
[start, end). size puede ser entero o secuencia (ND-array).
Igual que la anterior pero en [start, end].
Genera una muestra aleatoria de tama
no size con los
elementos del array 1D a. Si replace=True la muestra
es con repetici
on. p es un array (de la misma dimensi
on que a)
que indica las probabilidades de cada elemento de a.
Mezcla la secuencia dada por x. Cambia x. Devuelve None.
Permuta de forma aleatoria la secuencia x. Si x es n-dimensional,
s
olo permuta la dimensi
on dada por el primer ndice.
M
odulo 1 Numpy
Septiembre de 2014
112 / 137
Uso de NUMPY
Muestreo aleatorio
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
113 / 137
Uso de NUMPY
Muestreo aleatorio
Ejemplo 2
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
114 / 137
Uso de NUMPY
Ejercicios
Del 27 al 30
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
115 / 137
Uso de NUMPY
Polinomios
Se gestionan a traves de la clase Polynomial del paquete
numpy.polynomial.polynomial que debe ser importado.
Creacion
numpy.polynomial.polynomial.Polynomial(coef)
que devuelve un objeto de tipo Polynomial.
coef es una tupla que establece los coeficientes del polinomio, en
orden creciente. Esto es, (1, 2, 3) representa al polinomio
1 + 2 x + 3 x 2.
>>> import numpy . polynomial . polynomial as npp
>>> pol = npp . Polynomial ([1 , 2 , 3])
>>> print pol
poly ([ 1. 2. 3.])
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
116 / 137
Uso de NUMPY
Polinomios
Creaci
on alternativa
Descripci
on
Genera un polinomio a partir de sus races, mediante el producto
(x r [0]) (x r [1]) ... (x r [n 1])
Atenci
on al signo negativo en el producto.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
117 / 137
Uso de NUMPY
Polinomios
Utilidad
Derivarlos e integrarlos.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
118 / 137
Uso de NUMPY
Polinomios
Metodos
M
etodo
copy()
degree()
cutdeg(deg)
roots()
deriv(m=1)
integ(m=1, k=[],
lbnd=None)
Descripci
on
Devuelve una copia del polinomio.
Devuelve el grado del polinomio.
Devuelve un polinomio con grado reducido a deg, descartando
t
erminos de orden superior.
Devuelve la lista de races del polinomio.
Calcula la derivada m-
esima del polinomio.
Devuelve la integral del polinomio. m es el n
umero de integraciones.
k es la lista de constantes de integraci
on (de menor o igual tama
no
que m). lbnd es el lmite inferior de la integral (si es definida).
NOTA: Un m
etodo es una funci
on que se llama desde un objeto de una clase. La sintaxis
sera: objeto.metodo([parametros]).
Es decir, si creo un objeto polinomio llamado pol, para obtener el grado del polinomio
ejecutar
e
pol.degree()
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
119 / 137
Uso de NUMPY
c2)
c2)
c2)
c2)
polypow(c, pow)
Descripci
on
Devuelve la suma dos polinomios.
Devuelve el polinomio resta de c1 y c2.
Devuelve el producto de dos polinomios.
Devuelve el producto de un polinomio por x.
Devuelve una tupla con dos arrays: el que define el cociente
y el que define el resto del resultado de dividir el polinomio c1 entre c2.
Devuelve el resultado de multiplicar el polinomio c al entero pow.
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
120 / 137
Uso de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
121 / 137
Uso de NUMPY
Polinomios
Ajuste
C
esar Husillos Rodrguez (IAA-CSIC)
Descripci
on
Retorna un polinomio de grado deg.
x e y tienen que tener la misma dimensi
on final.
Si y es 2D, se realizan m
ultiples ajustes (uno por cada
columna de y ). El resultado es tambi
en 2D (cada columna
se refiere a un ajuste). deg es el grado del polinomio
a ajustar. full se refiere al formato de salida:
False, s
olo coeficientes, True, coeficientes e informaci
on
de diagn
ostico ([residuals, rank, singular values,
rcond]). w, se refiere al peso de cada par de
coordenadas (xi , yi ). Si no se da, los pesos valen 1.
M
odulo 1 Numpy
Septiembre de 2014
122 / 137
Uso de NUMPY
Ajuste
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
123 / 137
Uso de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
124 / 137
Uso de NUMPY
Polinomios
Evaluaci
on de valor en un punto
Descripci
on
Eval
ua el polinomio dado por la secuencia c en los puntos dados por x
(escalar o secuencia).
c puede ser 1D o nD. En este u
ltimo caso hay que considerar m
as
par
ametros de la funci
on polyval (ver documentaci
on).
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
125 / 137
Uso de NUMPY
Evaluacion
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
126 / 137
Uso de NUMPY
Polinomios especiales
NUMPY proporciona soporte a traves del modulo
numpy.polynomial.polynomial para la generacion y
operacion con polinomios especiales:
1
Chebyshev
2
Legendre
3
Laguerre
4
Hermite
Para mas informacion, consulte la documentacion.
REFERENCIA: http://docs.scipy.org/doc/numpy/reference/routines.polynomials.package.html
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
127 / 137
Uso de NUMPY
Ejercicios
Del 31 al 36
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
128 / 137
Uso de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
129 / 137
Uso de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
130 / 137
Uso de NUMPY
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
131 / 137
Uso de NUMPY
Creacion y manejo
Ejemplo 1
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
132 / 137
Uso de NUMPY
Dado
>>> am = numpy . ma . array ([1 , 2 , 3] , mask =[ True , False , False ])
>>> am
masked_array ( data = [ - - 2 3] ,
mask = [ True False False ] ,
fill_value = 999999)
M
odulo 1 Numpy
Septiembre de 2014
133 / 137
Uso de NUMPY
Para operar con arrays con mascara se hace lo mismo que con arrays
normales
>>> x = numpy . ma . array ([1 , 2 , 3 , 4] , mask =[0 , 0 , 1 , 0])
>>> y = numpy . ma . array ([3 , -1 , 2 , 5] , mask =[0 , 0 , 1 , 1])
>>> x + y
masked_array ( data = [4 1 -- - -] ,
mask = [ False False True True ] ,
fill_value = 999999)
M
odulo 1 Numpy
Septiembre de 2014
134 / 137
Uso de NUMPY
M
odulo 1 Numpy
Septiembre de 2014
135 / 137
Uso de NUMPY
Ejercicios
Del 37 al 38
http://www.iaa.es/python/cientifico/ejercicios/numpy
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
136 / 137
Uso de NUMPY
Y por fin...
.
FIN
C
esar Husillos Rodrguez (IAA-CSIC)
M
odulo 1 Numpy
Septiembre de 2014
137 / 137