IniziaInizia gratis

Generare numeri casuali con il modulo np.random

Useremo a fondo il modulo np.random per il resto di questo corso e nel suo seguito. In realtà, probabilmente chiamerai i metodi delle istanze di RNG più di qualsiasi altra funzione quando indossi il cappello da hacker statistico. Iniziamo prendendo una semplice funzione, rng.random(), per un giro di prova. La funzione restituisce un numero casuale tra zero e uno. Se chiami rng.random() alcune volte, dovresti vedere numeri che saltano tra zero e uno.

In questo esercizio, genereremo molti numeri casuali tra zero e uno e poi disegneremo un istogramma dei risultati. Se i numeri sono davvero casuali, tutte le barre dell'istogramma dovrebbero avere un'altezza (circa) uguale.

Avrai notato che, nel video, Justin ha generato 4 numeri casuali passando l'argomento size=4 a rng.random(). Questo approccio è più efficiente di un ciclo for: in questo esercizio, però, scriverai un ciclo for per vivere l'hacker statistics come pratica di ripetere un esperimento più e più volte.

Questo esercizio fa parte del corso

Pensare in modo statistico con Python (Parte 1)

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia e imposta il seed di un generatore di numeri casuali, rng, usando il seed 42.
  • Inizializza un array vuoto, random_numbers, di 100.000 elementi per memorizzare i numeri casuali. Assicurati di usare np.empty(100000) per farlo.
  • Scrivi un ciclo for per estrarre 100.000 numeri casuali usando rng.random(), memorizzandoli nell'array random_numbers. Per farlo, itera su range(100000).
  • Traccia un istogramma di random_numbers. Non è necessario etichettare gli assi in questo caso perché stiamo solo controllando il generatore di numeri casuali. Premi Invia risposta per mostrare il grafico.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice