Les nombres aléatoires dans NumPy

Qu'est-ce qu'un nombre aléatoire ?

Un nombre aléatoire ne signifie pas nécessairement que les nombres sont différents à chaque fois. Aléatoire signifie que quelque chose ne peut pas être prédit logiquement.

Pseudo-aléatoire et aléatoire

Les ordinateurs travaillent sur des programmes, et les programmes sont un ensemble d'instructions autorisées. Cela signifie qu'il doit y avoir un algorithme pour générer des nombres aléatoires.

Si un programme existe pour générer des nombres aléatoires, il peut être prédit, donc ce n'est pas un nombre vraiment aléatoire.

Les nombres aléatoires générés par des algorithmes sont appelés nombres pseudo-aléatoires.

Pouvons-nous générer des nombres vraiment aléatoires ?

Oui. Pour générer un nombre réellement aléatoire sur notre ordinateur, nous devons obtenir des données aléatoires d'une source externe. Les sources externes sont généralement nos frappes de touches, les mouvements de la souris, les données réseau, etc.

Nous n'avons pas besoin de nombres réellement aléatoires, sauf si cela est lié à la sécurité (par exemple, les clés de cryptage) ou si l'application est basée sur la randomness (par exemple, les roues de hasard numériques).

Dans ce tutoriel, nous utiliserons des nombres pseudo-aléatoires.

Générer des nombres aléatoires

NumPy fournit le module random pour traiter les nombres aléatoires.

Instance

Générer un entier aléatoire entre 0 et 100 :

from numpy import random
x = random.randint(100)
print(x)

Exécuter l'instance

Générer des nombres flottants aléatoires

Le module random rand() La méthode retourne un nombre flottant aléatoire entre 0 et 1.

Instance

Générer un nombre flottant aléatoire entre 0 et 100 :

from numpy import random
x = random.rand()
print(x)

Exécuter l'instance

Générer des tableaux aléatoires

Dans NumPy, nous pouvons utiliser les deux méthodes de l'exemple précédent pour créer des tableaux aléatoires.

entier

randint() La méthode accepte Taille Paramètres, dans lesquels vous pouvez spécifier la forme de l'array.

Instance

Générer un tableau 1-D contenant 5 nombres entiers aléatoires entre 0 et 100 :

from numpy import random
x=random.randint(100, size=(5))
print(x)

Exécuter l'instance

Instance

Générer un tableau 2-D de 3 lignes, chaque ligne contient 5 nombres entiers aléatoires entre 0 et 100 :

from numpy import random
x = random.randint(100, size=(3, 5))
print(x)

Exécuter l'instance

Nombre flottant

rand() La méthode permet également de spécifier la forme de l'array.

Instance

Générer un tableau 1-D contenant 5 nombres flottants aléatoires :

from numpy import random
x = random.rand(5)
print(x)

Exécuter l'instance

Instance

Générer un tableau 2-D de 3 lignes, chaque ligne contient 5 nombres aléatoires :

from numpy import random
x = random.rand(3, 5)
print(x)

Exécuter l'instance

Générer des nombres aléatoires à partir d'un tableau

choice() La méthode vous permet de générer des valeurs aléatoires basées sur un tableau de valeurs.

choice() La méthode prend l'array en paramètre et retourne une valeur aléatoire.

Instance

Retourner une valeur de l'array :

from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)

Exécuter l'instance

choice() La méthode permet également de retourner un tableau de valeurs.

Ajoutez une Taille Les paramètres spécifient la forme de l'array.

Instance

Générer un tableau deux dimensions composé des valeurs du paramètre d'array (3, 5, 7 et 9) :

from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)

Exécuter l'instance