import numpy as np # importamos la librería NumPy como np
m = np.arange(15).reshape(3, 5) # creamos una matriz 2D
m
array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
Proporciona el número de filas × columnas.
m.shape
(3, 5)
Proporciona la dimensión de la matriz (número de ejes).
m.ndim
2
Número de elementos que incluye una matriz.
m.size
15
Crea una matriz de ceros.
matriz = np.zeros((3, 5))
matriz
array([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]])
Genera una matriz con números secuenciales entre uno inicial y uno final, indicando la cantidad de números deseada.
m=np.linspace(10, 14, 5)
m
array([10., 11., 12., 13., 14.])
m=np.linspace(90, 20, 5)
m
array([90. , 72.5, 55. , 37.5, 20. ])
Una matriz de tres dimensiones requiere: hojas × filas × columnas. A la tercera dimensión se la llama habitualmente hojas o páginas.
m3d = np.arange(24).reshape(2, 3, 4)
m3d
array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])
array_pares=np.arange(0, 20, 2)
array_pares
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
array_impares=array_pares + 1 # suma 1 a todos los elementos y lo convierte en un array de impares
array_impares
array([ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19])
array_impares * 10 # multiplicar
array([ 10, 30, 50, 70, 90, 110, 130, 150, 170, 190])
array_impares - array_pares # restar arrays
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
#array_impares / array_pares # dividir arrays da error ya que dividen entre cero
numeros_primos = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
array_primos = np.array(numeros_primos)
array_primos
array([ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29])
array_primos.sum() # suma
129
array_primos.mean() # media
12.9
array_primos.var() # varianza
73.28999999999999
# Creamos la serie de Fibonacci
fibo = [0, 1]
for i in range (11):
fibo.append(fibo[-1] + fibo[-2])
print(fibo)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]
# Convertimos la lista en un ndarray
fibonacci = np.array(fibo)
fibonacci
array([ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144])
# desordenamos el array
np.random.shuffle(fibonacci) # permite desordenar un array
fibonacci
array([ 1, 144, 3, 34, 89, 13, 21, 55, 1, 8, 0, 2, 5])
# ordenar un array
np.sort(fibonacci) # ordena el vector, pero no queda asignado al array fibonacci
array([ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144])
fibonacci # comprobamos que no queda asignado el vector ordenado a la variable fibonacci
array([ 1, 144, 3, 34, 89, 13, 21, 55, 1, 8, 0, 2, 5])
ordenado = np.sort(fibonacci) # asignamos el array a la variable ordenado
ordenado
array([ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144])
inverso=ordenado[::-1]
inverso
array([144, 89, 55, 34, 21, 13, 8, 5, 3, 2, 1, 1, 0])
inverso.sort() # si ordenamos el array inverso quedará ordenado de menor a mayor
inverso
array([ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144])
inverso == np.array(fibo) # una comprobación
array([ True, True, True, True, True, True, True, True, True, True, True, True, True])