Zufallszahlen in NumPy


Was ist eine Zufallszahl?

Zufallszahl bedeutet NICHT jedes Mal eine andere Zahl. Zufällig bedeutet etwas, das nicht logisch vorhergesagt werden kann.

Pseudo-Zufall und True Random.

Computer arbeiten mit Programmen, und Programme sind endgültige Anweisungen. Es muss also auch einen Algorithmus geben, um eine Zufallszahl zu generieren.

Wenn es ein Programm zum Generieren von Zufallszahlen gibt, können diese vorhergesagt werden, sie sind also nicht wirklich zufällig.

Durch einen Generierungsalgorithmus generierte Zufallszahlen werden als Pseudozufallszahlen bezeichnet .

Können wir echte Zufallszahlen machen?

Ja. Um eine echte Zufallszahl auf unseren Computern zu generieren, müssen wir die Zufallsdaten von einer externen Quelle erhalten. Diese externe Quelle sind im Allgemeinen unsere Tastenanschläge, Mausbewegungen, Daten im Netzwerk usw.

Wir brauchen keine wirklichen Zufallszahlen, es sei denn, dies betrifft die Sicherheit (z. B. Verschlüsselungsschlüssel) oder die Grundlage der Anwendung ist die Zufälligkeit (z. B. digitale Roulette-Räder).

In diesem Tutorial verwenden wir Pseudozufallszahlen.


Zufallszahl generieren

NumPy bietet das randomModul an, um mit Zufallszahlen zu arbeiten.

Beispiel

Generieren Sie eine zufällige ganze Zahl von 0 bis 100:

from numpy import random

x = random.randint(100)

print(x)

Zufallsfloat generieren

Die rand()Methode des Random-Moduls gibt einen zufälligen Float zwischen 0 und 1 zurück.

Beispiel

Generieren Sie einen zufälligen Float von 0 bis 1:

from numpy import random

x = random.rand()

print(x)


Generieren Sie ein zufälliges Array

In NumPy arbeiten wir mit Arrays, und Sie können die beiden Methoden aus den obigen Beispielen verwenden, um zufällige Arrays zu erstellen.

Ganze Zahlen

Die randint()Methode akzeptiert einen size Parameter, mit dem Sie die Form eines Arrays angeben können.

Beispiel

Generieren Sie ein 1-D-Array mit 5 zufälligen ganzen Zahlen von 0 bis 100:

from numpy import random

x=random.randint(100, size=(5))

print(x)

Beispiel

Generieren Sie ein 2-D-Array mit 3 Zeilen, wobei jede Zeile 5 zufällige ganze Zahlen von 0 bis 100 enthält:

from numpy import random

x = random.randint(100, size=(3, 5))

print(x)

Schwimmt

Mit der rand()Methode können Sie auch die Form des Arrays angeben.

Beispiel

Generieren Sie ein 1-D-Array mit 5 zufälligen Gleitkommazahlen:

from numpy import random

x = random.rand(5)

print(x)

Beispiel

Generieren Sie ein 2-D-Array mit 3 Zeilen, wobei jede Zeile 5 Zufallszahlen enthält:

from numpy import random

x = random.rand(3, 5)

print(x)

Zufallszahl aus Array generieren

Mit der choice()Methode können Sie einen Zufallswert basierend auf einem Array von Werten generieren.

Die choice()Methode nimmt ein Array als Parameter und gibt zufällig einen der Werte zurück.

Beispiel

Einen der Werte in einem Array zurückgeben:

from numpy import random

x = random.choice([3, 5, 7, 9])

print(x)

Die choice()Methode ermöglicht es Ihnen auch, ein Array von Werten zurückzugeben.

Fügen Sie einen sizeParameter hinzu, um die Form des Arrays anzugeben.

Beispiel

Generieren Sie ein 2-D-Array, das aus den Werten im Array-Parameter (3, 5, 7 und 9) besteht:

from numpy import random

x = random.choice([3, 5, 7, 9], size=(3, 5))

print(x)