LoslegenKostenlos loslegen

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)

Kurs anzeigen

Anleitung zur Übung

  • Erzeuge und initialisiere einen Zufallszahlengenerator rng mit dem Seed 42.
  • Initialisiere ein leeres Array random_numbers mit 100.000 Einträgen zur Speicherung der Zufallszahlen. Verwende dafür np.empty(100000).
  • Schreibe eine for-Schleife, um 100.000 Zufallszahlen mit rng.random() zu ziehen und im Array random_numbers zu speichern. Iteriere dazu über range(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()
Code bearbeiten und ausführen