Pour créer un tableau (matrice) de nombres aléatoires avec numpy il existe la fonction numpy.random.rand, qui accepte comme argument les dimensions de la matrice, exemple:
>>> np.random.rand(5,2)
array([[ 0.16464348, 0.21037397],
[ 0.50112698, 0.54692043],
[ 0.28375204, 0.80156717],
[ 0.09403288, 0.97277246],
[ 0.28855412, 0.23052145]])
pour générer une matrice de dimension (5,2) dont les éléments sont générés aléatoirement dans l'intervalle [0,1[.
Note: Une fois que l'on sait comment générer des éléments aléatoirement dans l'intervalle [0,1[ on peut facilement générer des éléments aléatoirement dans un intervalle [a,b] quelconque par une simple transformation mathématiques: (b-a)*[0,1[ + a
>>> X = np.random.rand(5,2)
>>> X
array([[ 0.65670886, 0.43024765],
[ 0.6688264 , 0.46121732],
[ 0.96284109, 0.73983768],
[ 0.94589245, 0.41653401],
[ 0.90351229, 0.65803306]])
>>> a = -100
>>> b = 100
>>> Y = (b-a) * X + a
>>> Y
array([[ 31.34177191, -13.95046932],
[ 33.76528002, -7.75653568],
[ 92.56821751, 47.96753537],
[ 89.17849049, -16.69319805],
[ 80.70245821, 31.60661209]])
Note: voir aussi les fonctions numpy: numpy.random.random et numpy.random.random_sample, et des discussions sur les differences entre celles-ci: Difference between functions generating random numbers in numpy et Differences between numpy.random and random.random in Python.
Recherches associées
Liens | Site |
---|---|
numpy.random.rand | scipy doc |
numpy.random.random | scipy doc |
numpy.random.random_sample | scipy doc |
Difference between functions generating random numbers in numpy | stackoverflow |
Differences between numpy.random and random.random in Python | stackoverflow |