import numpy as np
a = np.random.randint(10) # genera un número entero entre 0 y 9
a
8
m = np.random.randint(10, size=5) # array con 5 aleatorios
m
array([7, 0, 6, 0, 8])
m = np.random.randint(10, size=(3,5)) # matriz 3×5
m
array([[9, 6, 2, 3, 5], [0, 2, 4, 0, 9], [0, 2, 7, 6, 5]])
No usamos randint sino rand.
m = np.random.rand(5) # vector de cinco valores uniformes cero uno
m
array([0.28453272, 0.56318351, 0.91445521, 0.27891116, 0.95612719])
m = np.random.rand(3,2)
m
array([[0.53568967, 0.81137955], [0.28598961, 0.91398213], [0.39620321, 0.26243456]])
Extraer aleatoriamente un elemento de un array.
np.random.choice([5, 9, 1, 4, 2, 7, 8, 3, 4, 6])
5
m = np.random.choice([5, 9, 1, 4, 2, 7, 8, 3, 4, 6], size=(2, 3))
m
array([[2, 2, 5], [3, 2, 1]])
El resultado es un vector de 20 elementos elegidos entre los que componen el vector inicial y con la probabilidad asignada a cada uno de ellos.
m = np.random.choice([1, 2, 3, 4, 5], p = [0.2, 0.2, 0.2, 0.2, 0.2], size = 20)
print(m)
[2 1 3 1 2 3 5 3 1 5 3 2 5 3 5 3 4 1 4 3]
Si el tamaño indica una matriz de 3×4 tendremos que poner size=(3,4).
m = np.random.choice([1, 2, 3, 4, 5], p = [0.2, 0.2, 0.2, 0.2, 0.2], size = (3, 4))
print(m)
[[4 3 4 2] [5 5 3 3] [3 3 1 1]]