> Modules non standards > numpy > Génération de nombres aléatoires avec numpy
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