sábado, 3 de marzo de 2018

Usar arrays en Python con NumPy

En Python podemos usar un array de una dimensión pero cuando necesitamos usar matrices multidimensionales necesitamos usar NumPy.

En Python una matriz unidimensional, sin llamar a NumPy, puede ser una lista o un array.

miLista=[1,2,3]

o bien, usando array


Importando NumPy

Para un tratamiento matemático de las matrices y vectores se recomienda usar NumPy. Además proporciona tratamiento de matrices multidimensionales.

Comencemos viendo cómo crear un array.

 #Vamos a trabajar con numpy haciendo algunas matrices basicas  
 import numpy as np  
 a = np.array([1, 2, 3])  # Crea un array de una dimensión  
 b = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])  
              # Ha creado un array de 3 dimensiones  
 print(type(a))      # Imprime "<class 'numpy.ndarray'>"  
 print(type(b))      # Imprime "<class 'numpy.ndarray'>"  
 print(a.shape)      # Imprime "(3,)"  
 print(b.shape)      # Imprime "(3,4)"  
 print(a[0], a[1], a[2])  # Imprime "1 2 3"  
 print(b[0],b[1],b[2])   # Imprime "[1 2 3 4] [5 6 7 8] [ 9 10 11 12]"  
 print(b[0,2])       # Imprime 3  
 a[0] = 5         # Cambia un elemento en un array  
 b[2,3]=-1         # Cambia el 12 por un -1  
 print(a)         # Imprime "[5, 2, 3]"  
 print(b)         # Imprime "[1 2 3 4] [5 6 7 8] [ 9 10 11 -1]"  
 c = np.array([[1/2,2,3],[4,5,6]])  # Crea una matriz de dimensión 2  
 print(c.shape)           # Imprime "(2, 3)"  
 print(c[0, 0], c[0, 1], c[1, 0])  # Imprime "0.5 2.0 4.0"  



En el último print se imprimen con coma flotantes los valores porque todos han de ser del mismo tipo, y hemos realizado una división.

Veamos ahora otro ejemplo donde únicamente importamos las funciones de NumPy que nos interesan.


 # continuamos con arrays en Python  
 from numpy import log, sin, cos, array  
 a=[log(1),1,2,3,4,5,6,7,8,9]  # creamos una lista  
 b=array(a)         # convertimos la lista en un array  
 print('la variable a es de tipo',type(a),' y es:')  
 print(a)  
 print('la variable b es de tipo',type(b),' y es:')  
 print(b)  


No hay comentarios:

Publicar un comentario