我需要从均匀分布中生成大量(100 万)个随机数。我做了一些实验,使用
从[0-999] 上的均匀分布生成 60K 随机数
scipy.stats.randint(0,1000).rvs(60000)
它花了大约 0.6 秒。然后我使用 boost 库尝试了同样的事情
boost::random::uniform_int_distribution
它花了大约 0.25 秒。所以我的问题是——有没有更好的方法来使用 python(库)来做我想做的事情?非常感谢任何建议。谢谢。
请您参考如下方法:
使用numpy.random.randint:
numpy.random.randint(low=1, high=1001, size=60000)
在我的试验中,它的运行速度比 scipy.stats.randint 快大约 300 倍,后者是为通用性而非速度而设计的系统的一部分。 (此外,scipy.stats.randint(0,1000).rvs(60000) 正在生成从 0 到 999 的整数,而不是 1 到 1000。)
