Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中使用random.expovariate()生成整数到达时间_Python_Random Sample_Poisson - Fatal编程技术网

如何在python中使用random.expovariate()生成整数到达时间

如何在python中使用random.expovariate()生成整数到达时间,python,random-sample,poisson,Python,Random Sample,Poisson,在pythonrandom模块中,expovariate()函数生成浮点数,可用于对泊松过程的到达时间进行建模。我如何利用它来生成到达时间之间的整数倍而不是浮点数?jonrsharpe已经提到过,您可以让函数生成浮点数,然后使用 这个 然后应键入为 >>> import random >>> [int(random.expovariate(0.2)) for i in range(10)] [0, 10, 5, 15, 4, 0, 0, 4, 5, 4] 另

在python
random
模块中,
expovariate()
函数生成浮点数,可用于对泊松过程的到达时间进行建模。我如何利用它来生成到达时间之间的整数倍而不是浮点数?

jonrsharpe已经提到过,您可以让函数生成浮点数,然后使用

这个

然后应键入为

>>> import random
>>> [int(random.expovariate(0.2)) for i in range(10)]
[0, 10, 5, 15, 4, 0, 0, 4, 5, 4]
另一个例子

>>> import random
>>> [int(random.expovariate(0.001)) for i in range(10)]
[435, 64, 575, 2147, 1233, 1630, 1128, 899, 180, 1190]
上面的示例使用列表理解在一行中生成多个结果。当然可以减少到

>>> import random
>>> int(random.expovariate(0.1)
5

请注意,如果将较大的数字传递给
.expvariate()
,则很可能得到较小的浮点值,并且当使用
int()
将浮点值转换为整数时,介于0和1之间的数字将转换为0。

是否考虑过使用
int
?谢谢!哇我没有想到简单地使用
int()
>>> import random
>>> int(random.expovariate(0.1)
5