Как я могу генерировать случайные числа в Python?
Существуют ли встроенные библиотеки в Python или Numpy для генерации случайных чисел на основе различных распространенных распределений, таких как:
- Normal
- Пуассона
- Экспоненциальный
- Бернулли
И другие?
Существуют ли такие библиотеки с многовариантными дистрибутивами?
Ответы
Ответ 1
#!/usr/bin/env python
from scipy.stats import bernoulli,poisson,norm,expon
bernoulli, poisson, norm, expon и многие другие документированы здесь
print(norm.rvs(size=30))
print(bernoulli.rvs(.3,size=30))
print(poisson.rvs(1,2,size=30))
print(expon.rvs(5,size=30))
Все дистрибутивы, определенные в scipy.stats, имеют общий интерфейс с pdf, cdf, rvs (случайные вариации). Подробнее здесь.
Ответ 2
Модуль random
имеет множество функций для генерации случайных чисел во многом. Не уверен, что он имеет многовариантность.
Numpy.random будет следующим местом для просмотра.