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)>>> Xarray([[ 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>>> Yarray([[ 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 |
