Nombres aléatoires dans NumPy
Qu'est-ce qu'un nombre aléatoire ?
Un nombre aléatoire ne signifie PAS un nombre différent à chaque fois. Aléatoire signifie quelque chose qui ne peut pas être prédit logiquement.
Pseudo aléatoire et vrai aléatoire.
Les ordinateurs fonctionnent sur des programmes, et les programmes sont un ensemble définitif d'instructions. Cela signifie donc qu'il doit également y avoir un algorithme pour générer un nombre aléatoire.
S'il existe un programme pour générer un nombre aléatoire, il peut être prédit, il n'est donc pas vraiment aléatoire.
Les nombres aléatoires générés par un algorithme de génération sont appelés pseudo-aléatoires .
Peut-on faire des nombres vraiment aléatoires ?
Oui. Afin de générer un nombre vraiment aléatoire sur nos ordinateurs, nous devons obtenir les données aléatoires d'une source extérieure. Cette source extérieure est généralement nos frappes au clavier, les mouvements de la souris, les données sur le réseau, etc.
Nous n'avons pas vraiment besoin de nombres aléatoires, à moins qu'ils ne soient liés à la sécurité (par exemple, les clés de cryptage) ou que la base d'application soit le caractère aléatoire (par exemple, les roulettes numériques).
Dans ce didacticiel, nous utiliserons des nombres pseudo-aléatoires.
Générer un nombre aléatoire
NumPy propose le random
module pour travailler avec des nombres aléatoires.
Exemple
Générez un entier aléatoire de 0 à 100 :
from numpy import random
x = random.randint(100)
print(x)
Générer un flottant aléatoire
La rand()
méthode du module random renvoie un flottant aléatoire entre 0 et 1.
Exemple
Générez un flottant aléatoire de 0 à 1 :
from numpy import random
x = random.rand()
print(x)
Générer un tableau aléatoire
Dans NumPy, nous travaillons avec des tableaux et vous pouvez utiliser les deux méthodes des exemples ci-dessus pour créer des tableaux aléatoires.
Entiers
La randint()
méthode prend un size
paramètre dans lequel vous pouvez spécifier la forme d'un tableau.
Exemple
Générez un tableau 1-D contenant 5 entiers aléatoires de 0 à 100 :
from numpy import random
x=random.randint(100, size=(5))
print(x)
Exemple
Générez un tableau 2D avec 3 lignes, chaque ligne contenant 5 entiers aléatoires de 0 à 100 :
from numpy import random
x = random.randint(100, size=(3, 5))
print(x)
Flotteurs
La rand()
méthode vous permet également de spécifier la forme du tableau.
Exemple
Générez un tableau 1-D contenant 5 flottants aléatoires :
from numpy import random
x = random.rand(5)
print(x)
Exemple
Générez un tableau 2D avec 3 lignes, chaque ligne contenant 5 nombres aléatoires :
from numpy import random
x = random.rand(3, 5)
print(x)
Générer un nombre aléatoire à partir d'un tableau
La choice()
méthode vous permet de générer une valeur aléatoire basée sur un tableau de valeurs.
La choice()
méthode prend un tableau comme paramètre et renvoie aléatoirement l'une des valeurs.
Exemple
Renvoie l'une des valeurs d'un tableau :
from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)
La choice()
méthode vous permet également de renvoyer un tableau de valeurs.
Ajoutez un size
paramètre pour spécifier la forme du tableau.
Exemple
Générez un tableau 2D composé des valeurs du paramètre tableau (3, 5, 7 et 9) :
from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)