Zufallszahlen mit dem Modul np.random erzeugen
Wir werden das Modul np.random für den Rest dieses Kurses und auch im Nachfolgekurs intensiv nutzen. Tatsächlich wirst du Methoden von RNG-Instanzen häufiger aufrufen als jede andere Funktion, wenn du deinen Hacker-Statistik-Hut trägst. Fangen wir mit einer einfachen Funktion an: rng.random() für eine Testrunde. Die Funktion gibt eine Zufallszahl zwischen null und eins zurück. Wenn du rng.random() ein paar Mal aufrufst, solltest du Zahlen sehen, die zwischen null und eins hin- und herspringen.
In dieser Übung erzeugen wir viele Zufallszahlen zwischen null und eins und zeichnen anschließend ein Histogramm der Ergebnisse. Wenn die Zahlen wirklich zufällig sind, sollten alle Balken im Histogramm (nahezu) gleich hoch sein.
Vielleicht ist dir im Video aufgefallen, dass Justin 4 Zufallszahlen erzeugt hat, indem er das Schlüsselwortargument size=4 an rng.random() übergeben hat. Dieser Ansatz ist effizienter als eine for-Schleife; in dieser Übung schreibst du jedoch eine for-Schleife, um Hacker-Statistik als das wiederholte Durchführen eines Experiments zu erleben.
Diese Übung ist Teil des Kurses
Statistical Thinking in Python (Teil 1)
Anleitung zur Übung
- Erzeuge und initialisiere einen Zufallszahlengenerator
rngmit dem Seed42. - Initialisiere ein leeres Array
random_numbersmit 100.000 Einträgen zur Speicherung der Zufallszahlen. Verwende dafürnp.empty(100000). - Schreibe eine
for-Schleife, um 100.000 Zufallszahlen mitrng.random()zu ziehen und im Arrayrandom_numberszu speichern. Iteriere dazu überrange(100000). - Zeichne ein Histogramm von
random_numbers. Es ist nicht nötig, die Achsen zu beschriften, da wir hier nur den Zufallszahlengenerator prüfen. Klicke auf Antwort senden, um dein Diagramm anzuzeigen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Instantiate and seed the random number generator
# Initialize random numbers: random_numbers
random_numbers = ____
# Generate random numbers by looping over range(100000)
for i in ____:
random_numbers[i] = ____
# Plot a histogram
_ = plt.hist(____)
# Show the plot
plt.show()