[PYTHON] Numpys Zufallsmodul Zufällige Generierung

Einführung

Numpy hat ein Zufallsmodul, mit dem sich leicht Zufallszahlen generieren lassen. Dieses Mal werde ich die Verwendung des Zufallsmoduls vorstellen.

Vorbereitung

Importieren Sie zunächst numpy.

>>> import numpy as np

Algorithmus zur zufälligen Generierung

Lassen Sie uns die Algorithmen vorstellen, die vom Zufallsmodul generiert werden können.

Einheitliche Zufallszahl

>>> #Geben Sie eine einheitliche Zufallszahl aus
>>> np.random.rand()
0.5880118049738298

>>> #Geben Sie eine beliebige Anzahl einheitlicher Zufallszahlen aus(Beispiel: 3)
>>> np.random.rand(3)
array([ 0.44895901,  0.39833764,  0.99688209])

>>> #Geben Sie einheitliche Zufallszahlen in jeder Dimension aus(Beispiel: 3x4 zweidimensionale Matrix)
>>> 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]])

Normale Zufallszahl

Gibt Zufallszahlen aus, die einer Normalverteilung folgen.

>>> #Allgemeines Format
>>> # np.random.normal(durchschnittlich,Verteilt,Anzahl der Ausgänge)

>>> #Beispiel 1: Geben Sie eine normale Standardzufallszahl aus
>>> np.random.normal()
1.822075035860751

>>> #Beispiel 2: Durchschnitt 10,Zufallszahlen nach einer Normalverteilung mit einer Varianz von 20 als 3x4-Matrix ausgeben
>>> 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]])

Es ist auch möglich, Zufallszahlen mit anderen Verteilungen als der Normalverteilung zu generieren (siehe Referenzen unten).

Ganzzahlige Zufallszahl

>>> #Generelle Form
>>> # np.random.randint(untere Grenze,Höchstgrenze,Anzahl der Ausgänge)

>>> #Beispiel 1: 0~Geben Sie eine Ganzzahl zwischen 5 aus
>>> np.random.randint(5)
2

>>> #Beispiel 2:10-Geben Sie Ganzzahlen zwischen 100 als 3x4-Matrix aus
>>> np.random.randint(10, 100, (3, 4))
array([[70, 34, 20, 82],
       [90, 78, 38, 71],
       [15, 73, 63, 53]])

Mische die Liste

>>> #Generelle Form
>>> # np.random.shuffle(Array)

>>> #Beispiel 1: Mischen Sie ein eindimensionales Array
>>> arr1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
>>> np.random.shuffle(arr)
>>> arr1
['E', 'H', 'C', 'I', 'D', 'B', 'G', 'A', 'F']

>>> #Beispiel 2: Mischen Sie ein zweidimensionales Array(Der äußerste wird gemischt)
>>> arr2 = [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']]
>>> np.random.shuffle(arr2)
>>> arr2
[['G', 'H', 'I'], ['A', 'B', 'C'], ['D', 'E', 'F']]

Angabe einer Zufallszahl

Sie können eine vom Startwert generierte Zufallszahl angeben.

>>> 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

Verweise

Recommended Posts

Numpys Zufallsmodul Zufällige Generierung
Zufallsgenerator für französische Zahlen mit Python
Zusammenfassung der Zufallszahlengenerierung durch Numpy
Natürlicher Zahlengenerator
numpy> Zufällige Listenausgabe> zip () / print%
Zufallsgenerator, der der Normalverteilung N (0,1) folgt
Ich habe mit Numpy eine Grafik mit Zufallszahlen erstellt
[Anmerkung] Zufällige Erstellung?
[Python] Memorandum über zufällige Generationen
Zufälliger Samen in TensorFlow und Numpy fixiert Etwas anders
Unendlicher Primgenerator in Python3
Pseudozufallszahlengenerierung und Zufallsstichprobe
Unterschied zwischen Numpys Randint und Randoms Randint
Sortieren Sie Namen mit dem Zufallsmodul von Python
Nicht überlappende Erzeugung ganzzahliger Zufallszahlen (0-N-1)
Erstellen Sie eine 1-MByte-Zufallszahlendatei
Veröffentlichtes Python My Number Verification Module