我一直在使用Numpy的numpy.random.exponential
功能。我现在看到Python的random
模块有许多我不知道的函数。它是否有替代numpy.random.exponential
的东西?从我的项目中删除numpy
要求会很好。
答案 0 :(得分:4)
如果random.expovariate()
的任何内容不符合您的需求,那么推出自己的版本也很容易:
def exponential(beta):
return -beta * math.log(1.0 - random.random())
仅仅为此功能依赖NumPy似乎有点过分。
请注意,此函数接受平均beta
作为参数,NumPy版本也是如此,而lambd
的参数random.expovariate()
则是beta
的倒数。< / p>
答案 1 :(得分:3)
http://docs.python.org/library/random.html#random.expovariate
<强> random.expovariate(lambd)强>
指数分布。 lambd是1.0 除以所需的平均值。这应该 非零。 (参数将是 称为“lambda”,但那是一个 Python中的保留字。)返回 值范围从0到正 如果lambd是积极的,那么无穷大 从负无穷大到0如果是lambd 是否定的。