ComenzarEmpieza gratis

Generar números aleatorios con el módulo np.random

Vamos a exprimir el módulo np.random durante el resto de este curso y su segunda parte. De hecho, seguramente llamarás a métodos de instancias de RNG más que a cualquier otra función cuando te pongas el sombrero de hacker de la estadística. Empecemos probando una función sencilla, rng.random(). Esta función devuelve un número aleatorio entre cero y uno. Si llamas a rng.random() varias veces, verás cómo los valores van saltando entre cero y uno.

En este ejercicio, generaremos muchos números aleatorios entre cero y uno y luego representaremos un histograma con los resultados. Si los números son realmente aleatorios, todas las barras del histograma deberían tener una altura (aproximadamente) igual.

Habrás notado que, en el vídeo, Justin generó 4 números aleatorios pasando el argumento con nombre size=4 a rng.random(). Ese enfoque es más eficiente que un bucle for. En este ejercicio, sin embargo, escribirás un bucle for para vivir la experiencia del hacker estadístico como la práctica de repetir un experimento una y otra vez.

Este ejercicio forma parte del curso

Pensamiento estadístico en Python (Parte 1)

Ver curso

Instrucciones del ejercicio

  • Instancia y fija la semilla de un generador de números aleatorios, rng, usando la semilla 42.
  • Inicializa un array vacío, random_numbers, de 100.000 elementos para almacenar los números aleatorios. Asegúrate de usar np.empty(100000) para hacerlo.
  • Escribe un bucle for para extraer 100.000 números aleatorios usando rng.random(), almacenándolos en el array random_numbers. Para ello, itera sobre range(100000).
  • Traza un histograma de random_numbers. En este caso no es necesario etiquetar los ejes porque solo estamos comprobando el generador de números aleatorios. Pulsa Enviar para mostrar tu gráfico.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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()
Editar y ejecutar código