3

我一直在使用 Numpy 的numpy.random.exponential功能。我现在看到 Python 的random模块有很多我不知道的功能。它有什么可以替代的numpy.random.exponential吗?numpy从我的项目中删除要求会很好。

4

2 回答 2

4

如果有什么random.expovariate()不适合您的需求,也可以轻松推出您自己的版本:

def exponential(beta):
    return -beta * math.log(1.0 - random.random())

仅仅为了这个功能而依赖 NumPy 似乎有点矫枉过正。

请注意,此函数接受均值beta作为参数,NumPy 版本也是如此,而参数lambdofrandom.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 回答