2009-10-31 29 views
13

¿Hay alguna incorporado en las bibliotecas de Python o Numpy para generar números aleatorios basados ​​en diversas distribuciones comunes, tales como:¿Cómo puedo generar números aleatorios en Python?

  • normal
  • Poisson
  • exponencial
  • Bernoulli

y varios otros?

¿Hay alguna de estas bibliotecas con distribuciones multi-variadas?

Respuesta

27
#!/usr/bin/env python 
from scipy.stats import bernoulli,poisson,norm,expon 

Bernoulli, Poisson, norma, expon y muchos otros están documentados here

print(norm.rvs(size=30)) 
print(bernoulli.rvs(.3,size=30)) 
print(poisson.rvs(1,2,size=30)) 
print(expon.rvs(5,size=30)) 

Todas las distribuciones definidas en scipy.stats tienen una interfaz común para el pdf, cdf, rvs (variables aleatorias aleatorios) . Más información here.

+1

Importar alma. ¡Maldito Python! –

+0

el documento está ahora en http://docs.scipy.org/doc/scipy/reference/stats.html – oluc

+0

Su segundo enlace allí dice "** Prohibido **" ... "No tiene permiso para acceder /~dkuhlman/scipy_course_01.html en este servidor ". --- parece linkrot –

5

El módulo random tiene un montón de funciones para generar números aleatorios de muchas maneras. No estoy seguro de que tenga multi-variate.

Numpy.random sería el siguiente lugar para buscar.

+1

Me tomé la libertad de agregar un enlace a la documentación para 'random' –

Cuestiones relacionadas