我一直在使用 Numpy 的numpy.random.exponential
功能。我现在看到 Python 的random
模块有很多我不知道的功能。它有什么可以替代的numpy.random.exponential
吗?numpy
从我的项目中删除要求会很好。
问问题
1196 次
2 回答
4
如果有什么random.expovariate()
不适合您的需求,也可以轻松推出您自己的版本:
def exponential(beta):
return -beta * math.log(1.0 - random.random())
仅仅为了这个功能而依赖 NumPy 似乎有点矫枉过正。
请注意,此函数接受均值beta
作为参数,NumPy 版本也是如此,而参数lambd
ofrandom.expovariate()
是beta
.
于 2011-03-17T22:34:45.463 回答
3
http://docs.python.org/library/random.html#random.expovariate
random.expovariate(lambd)
指数分布。lambda 是 1.0 除以所需的平均值。它应该是非零的。(该参数将被称为“lambda”,但这是 Python 中的保留字。)如果 lambda 为正,则返回值的范围从 0 到正无穷大,如果 lambda 为负,则从负无穷大到 0。
于 2011-03-17T22:26:20.550 回答