[PYTHON] Module aléatoire de Numpy Génération aléatoire

introduction

Numpy a un module aléatoire qui facilite la génération de nombres aléatoires. Cette fois, je vais vous présenter comment utiliser le module aléatoire.

Préparation

Tout d'abord, importez numpy.

>>> import numpy as np

Algorithme de génération aléatoire

Introduisons les algorithmes qui peuvent être générés par le module aléatoire.

Nombre aléatoire uniforme

>>> #Sortie d'un nombre aléatoire uniforme
>>> np.random.rand()
0.5880118049738298

>>> #Sortie n'importe quel nombre de nombres aléatoires uniformes(Exemple: 3)
>>> np.random.rand(3)
array([ 0.44895901,  0.39833764,  0.99688209])

>>> #Sortie de nombres aléatoires uniformes dans n'importe quelle dimension(Exemple: matrice bidimensionnelle 3x4)
>>> np.random.rand(3, 4)
array([[ 0.0526965 ,  0.01470381,  0.33005156,  0.14598275],
       [ 0.41548295,  0.69093009,  0.78780918,  0.4854191 ],
       [ 0.89098149,  0.23846317,  0.49385737,  0.54687586]])

Nombre aléatoire normal

Produit des nombres aléatoires qui suivent une distribution normale.

>>> #Format général
>>> # np.random.normal(moyenne,Distribué,Nombre de sorties)

>>> #Exemple 1: Sortie d'un nombre aléatoire normal standard
>>> np.random.normal()
1.822075035860751

>>> #Exemple 2: moyenne de 10,Sortie des nombres aléatoires suivant une distribution normale avec une variance de 20 sous forme de matrice 3x4
>>> np.random.normal(10, 20, (3, 4))
array([[ 30.20657691,   9.14586262,  37.53208038,  -7.07276197],
       [  2.72797326,  47.43580065,  -4.09493013,  20.48477033],
       [ 13.32781396, -10.19972429,  24.45599633,  -6.52998571]])

Il est également possible de générer des nombres aléatoires avec des distributions autres que la distribution normale (voir références en bas).

Nombre aléatoire entier

>>> #Forme générale
>>> # np.random.randint(limite inférieure,limite supérieure,Nombre de sorties)

>>> #Exemple 1: 0~Sortie d'un entier entre 5
>>> np.random.randint(5)
2

>>> #Exemple 2:10-Sortir les entiers entre 100 sous forme de matrice 3x4
>>> np.random.randint(10, 100, (3, 4))
array([[70, 34, 20, 82],
       [90, 78, 38, 71],
       [15, 73, 63, 53]])

Mélangez la liste

>>> #Forme générale
>>> # np.random.shuffle(Tableau)

>>> #Exemple 1: mélanger un tableau à une dimension
>>> arr1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
>>> np.random.shuffle(arr)
>>> arr1
['E', 'H', 'C', 'I', 'D', 'B', 'G', 'A', 'F']

>>> #Exemple 2: mélanger un tableau à deux dimensions(Le plus extérieur est mélangé)
>>> arr2 = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
>>> np.random.shuffle(arr2)
>>> arr2
[['G', 'H', 'I'], ['A', 'B', 'C'], ['D', 'E', 'F']]

Spécifier un nombre aléatoire

Vous pouvez spécifier un nombre aléatoire généré par seed.

>>> np.random.seed(10)
>>> np.random.rand()
0.771320643266746

>>> np.random.seed(10)
>>> np.random.rand()
0.771320643266746

>>> np.random.seed(11)
>>> np.random.rand()
0.1802696888767692

Les références

Recommended Posts

Module aléatoire de Numpy Génération aléatoire
générateur de nombres aléatoires français avec python
Résumé de la génération de nombres aléatoires par Numpy
Générateur de nombres naturels
numpy> Sortie de liste aléatoire> zip () / print%
Générateur aléatoire qui suit la distribution normale N (0,1)
J'ai fait un graphique de nombres aléatoires avec Numpy
[Note] Création aléatoire?
[python] Mémorandum de génération aléatoire
Graine aléatoire corrigée dans TensorFlow et Numpy Un peu différent
Générateur principal infini en Python3
Génération de nombres pseudo aléatoires et échantillonnage aléatoire
Différence entre le randint de Numpy et le randint de Random
Trier les noms avec le module aléatoire de Python
Génération de nombres aléatoires entiers sans chevauchement (0-N-1)
Créer un fichier de nombres aléatoires de 1 Mo
Module de vérification de mon numéro Python publié