我使用Numpy的numpy.random.exponential函数已经有一段时间了。我现在看到Python的random模块有许多我不知道的函数。它有没有什么东西可以取代numpy.random.exponential?如果能从我的项目中去掉numpy需求,那就太好了。
发布于 2011-03-18 06:34:45
如果有关random.expovariate()的任何内容不适合您的需求,也很容易推出您自己的版本:
def exponential(beta):
return -beta * math.log(1.0 - random.random())仅仅为了这个功能而依赖NumPy似乎有点过头了。
请注意,此函数接受平均值beta作为参数,NumPy版本也是如此,而random.expovariate()的参数lambd与beta相反。
发布于 2011-03-18 06:26:21
http://docs.python.org/library/random.html#random.expovariate
random.expovariate(lambd)
指数分布。λ是1.0除以期望的平均值。它应该是非零的。(该参数将称为“lambda”,但这是Python中的保留字。)如果lambd为正,则返回值范围为0到正无穷大;如果lambd为负,则返回值范围为负无穷大到0。
https://stackoverflow.com/questions/5346008
复制相似问题