¡Esta es una revisión vieja del documento!
Tabla de Contenidos
NumPy
Se suele cargar en Python con el alias np:
import numpy as np
Arrays
Podemos convertir una lista de Python en un array/matriz de NumPy:
mylist = [1, 2, 3] myarray = np.array(mylist) type(myarray) # Devolverá: numpy.ndarray
Métodos
arange
Genera un array:
np.arange(0, 3) # array([0, 1, 2, 3]) # Genera un array del 0 al 10, pero con saltos de 2 np.arange(0, 10, 2) # array([0, 2, 4, 6, 8])
zeros
Genera arrays de ceros. Permite indicar las dimensiones del array:
np.zeros(shape=(3,5)) # resultado: #array([[0., 0., 0., 0., 0.], # [0., 0., 0., 0., 0.], # [0., 0., 0., 0., 0.]])
Por defecto, el método zeros() crea números decimales (float).
ones
Genera arrays de unos. Permite indicar las dimensiones del array:
np.ones(shape=(3,5)) # resultado: #array([[1., 1., 1., 1., 1.], # [1., 1., 1., 1., 1.], # [1., 1., 1., 1., 1.]])
Por defecto, el método ones() crea números decimales (float).
max
Devuelve el valor más alto de un array:
# arr = array([ 4, 63, 40, 60, 92, 64, 5, 12, 93, 40]) arr.max() # 93
min
Devuelve el valor más pequeño de un array:
# arr = array([ 4, 63, 40, 60, 92, 64, 5, 12, 93, 40]) arr.min() # 4
argmax
Devuelve la posición del elemento más grande del array
# arr = array([ 4, 63, 40, 60, 92, 64, 5, 12, 93, 40]) arr.argmax # 8
argmin
Devuelve la posición del elemento más grande del array
# arr = array([ 4, 63, 40, 60, 92, 64, 5, 12, 93, 40]) arr.argmin # 0
mean
Calcula el valor medio de un array
# arr = array([ 4, 63, 40, 60, 92, 64, 5, 12, 93, 40]) arr.mean() # 47.3
reshape
Cambiar las dimensiones de un array
arr = np.random.randint(0, 100, 10) # array([95, 11, 81, 70, 63, 87, 75, 9, 77, 40]) arr.reshape((5, 2)) # array([[95, 11], # [81, 70], # [63, 87], # [75, 9], # [77, 40]])
Las nuevas dimensiones tiene que ser lógicas. Si tenemos un array con 10 elementos, no podemos convertirlo en un array de 3 filas y 2 columnas, por ejemplo.
Podemos combinar métodos:
# Crear una matriz de 10 filas y 10 columnas con los 100 primeros números (del 0 al 99) mat = np.arange(0, 100).reshape(10,10)
Selección
Para coger algún elemento del array, nos referimos a su posición.
mat = np.arange(0, 100).reshape(10, 10) # Elemento que ocupa la posición 0, 10 (fila, columna): mat[0,10]
Para coger todos los elementos de una fila o columna utilizamos el slicing:
# Todos los valores de las filas, pero de la columna que ocupa la posición 1 mat[:,1] # Todos los valores de las columnas para la fila 2: mat[2, :] # Porción: mat[0:3,0,3]
Números aleatorios
# Semilla para la aleatoriedad np.random.seed(101) # Creamos un array de 10 números entre el 0 y el 100 arr = np.random.randint(0, 100, 10)
