Saltar al contenido

Números y distribuciones casi aleatorias con NumPy

Distribuciones normales

Para generar un conjunto de valores gausianos, usaremos la función normal().

12mu, sigma =10,2# media y desviación estándarprint(random.normal(mu, sigma,10))

pitón

Números y distribuciones casi aleatorias con NumPy
Números y distribuciones casi aleatorias con NumPy
12[6.5004690510.6853608112.306071619.4951279311.9626415711.0284376810.442359347.859913349.6210083410.51000289]

pitón

Distribuciones binomiales

NumPy proporciona funcionalidad para generar valores de varias distribuciones, incluyendo binomial, beta, Pareto, Poisson, etc. Veamos cómo generaríamos algunos números aleatorios a partir de una distribución binomial.

Digamos que quisiéramos simular el resultado de 10 tiradas de monedas.

12n, p =10,.5s = np.random.binomial(n, p,5)

pitón

Esto ejecuta 5 pruebas diferentes de los 10 tiros de la moneda y devuelve el número de veces que la moneda cae en cara (o cruz, su llamada) para cada una de esas pruebas:

1[54571]

pitón

Distribuciones de elección

A veces, quieres ser capaz de elegir elementos al azar de una lista. Por ejemplo, digamos que quieres elegir al azar entre el rojo (p=0,25), el verde (p=0,5) y el azul (p=0,25). Eso se vería algo así:

1print(random.choice([$0027red$0027,$0027green$0027,$0027blue$0027],5, p=[0.25,0.5,0.25]))

pitón

La matriz resultante se ve así:

1[$0027green$0027$0027green$0027$0027green$0027$0027blue$0027$0027red$0027]

pitón

También puedes generar elecciones aleatorias a partir de un rango de números enteros.

1print(random.choice(5,10, p=[0.2,0,0.2,0.5,0.1]))

pitón

Aquí, 0 tiene 20% de probabilidad de ocurrir, 1 tiene 0%, 2 tiene 20%, y así sucesivamente. Este es el resultado:

1[3233023323]

pitón

Usando la función choice(), puede crear números aleatorios a partir de distribuciones arbitrarias usando datos de frecuencia.