Mis a jour le 2025-04-14, 12:10

Génération de nombres aléatoires avec numpy

Générations aléatoires simples :
  • numpy.random.randn(10) : array 1d de 10 nombres d'une distribution gaussienne standard (moyenne 0, écart-type 1).
  • numpy.random.randn(10, 10) : array 2d de 10 x 10 nombres d'une distribution gaussienne standard.
  • numpy.random.randint(1, 5, 10) : une array 1d de 10 nombres entiers entre 1 et 5, 5 exclus.
  • numpy.random.random_integers(1, 5, 10) : une array 1d de 10 nombres entiers entre 1 et 5, 5 inclus.
  • numpy.random.random_sample(7) : renvoie 7 valeurs aléatoires dans l'intervalle [0,1[.
Choix :
  • numpy.random.choice(numpy.array([4, 5, 6, 7, 8])) : renvoie une valeur choisie au hasard dans la liste.
  • numpy.random.choice(numpy.array([4, 5, 6, 7, 8]), 3, replace = True) : renvoie un vecteur de 3 valeurs choisies au hasard dans la liste, avec possibilité de tirer plusieurs fois la même valeur. Attention : par défaut, replace vaut True.
  • numpy.random.choice(numpy.array([4, 5, 6, 7, 8]), 3, replace = False) : renvoie un vecteur de 3 valeurs choisies au hasard dans la liste, sans remise (valeur ne peut être tirée qu'une seule fois).
  • numpy.random.choice(numpy.array([4, 5, 6, 7, 8]), (2, 3)) : renvoie une array 2 x 3 de valeurs choisies au hasard dans la liste.
  • on peut partir d'une simple liste et/ou donner des probabilités pour chaque élément : numpy.random.choice(['a', 'b', 'c'], 10, replace = True, p = [0.1, 0.4, 0.5])
Permutations :
  • a = numpy.array([1, 2, 3, 4, 5, 6]); numpy.random.shuffle(a) : fait une permutation aléatoire en place de a.
  • a = numpy.array([1, 2, 3, 4, 5, 6]); b = numpy.random.permutation(a) : renvoie une permutation aléatoire, sans affecter a.
Variables aléatoires de différentes distributions :
  • numpy.random.seed(5) : pour donner la graine, afin d'avoir des valeurs reproductibles d'un lancement du programme à un autre.
  • numpy.random.binomial(10, 0.3, 7) : une array de 7 valeurs d'une loi binomiale de 10 tirages avec probabilité de succès de 0.3.
  • numpy.random.binomial(10, 0.3) : tire une seule valeur d'une loi binomiale à 10 tirages.
  • numpy.random.binomial([10, 50, 100], 0.3) : tire une seule valeur d'une loi binomiale pour 10, 50 et 100 tirages et renvoie donc une array de 3 valeurs.
  • numpy.random.poisson(1, 7) : une array de 7 valeurs issues d'une loi de Poisson de paramètre 1.
  • numpy.random.standard_normal(7) : une array de 7 valeurs issues d'une loi normale standard (moyenne 0, écart-type 1).
  • numpy.random.normal(5, 2, 7) : une array de 7 valeurs issues d'une loi normale de moyenne 5 et écart-type 2.
  • numpy.random.uniform(0, 2, 7): une array de 7 valeurs issues d'une loi uniforme entre 0 et 2.
  • numpy.random.standard_t(2, 7): une array de 7 valeurs issues d'une loi standard t de Student à 2 degrés de liberté.
  • numpy.random.chisquare(2, 7) : une array de 7 valeurs issues d'une loi du chi 2 à 2 degrés de liberté.
  • numpy.random.f(2, 3, 7) : une array de 7 valeurs issues d'une loi F de Fisher à 2 et 3 degrés de liberté.

Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert