Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I generate random numbers in Python?

Tags:

python

random

Are there any built-in libraries in Python or Numpy to generate random numbers based on various common distributions, such as:

  • Normal
  • Poisson
  • Exponential
  • Bernoulli

And various others?

Are there any such libraries with multi-variate distributions?

like image 411
Nathan Fellman Avatar asked Oct 31 '09 20:10

Nathan Fellman


1 Answers

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

bernoulli, poisson, norm, expon and many others are documented 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))

All the distributions defined in scipy.stats have a common interface to the pdf, cdf, rvs (random variates). More info here.

like image 137
unutbu Avatar answered Oct 08 '22 20:10

unutbu