Générer un tableau (matrice) de nombres aléatoires avec numpy de python

Published: 31 octobre 2017

DMCA.com Protection Status

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