【问题标题】:the efficient way of using np.random.uniform to generate a batch of variable使用 np.random.uniform 生成一批变量的有效方法
【发布时间】:2021-07-11 19:23:21
【问题描述】:

在模拟中,我想生成一批随机数,例如3。此外,每个随机数对应不同的上界。例如,var1 的上限为10var2 的上限为 25var3 的上限为 30。当然,我可以编写一个循环来生成它。是否有可能使用numpy.random.uniform 以更有效的方式生成它。

【问题讨论】:

  • 如果一次只创建几个,python random 包比np.random 更快。 numpy 代码有时最适合许多人。

标签: python-3.x pandas numpy scipy


【解决方案1】:

我建议在 [0,1] 中采样,然后缩放:

import numpy as np
random_list = np.multiply(np.random.uniform(size=3), [10,25,30])

【讨论】:

  • 嗨!很高兴您接受了这个答案,但我从@hpaulj 的回答中学到了一些东西,我认为它比我的要好。
【解决方案2】:
import numpy as np
batch_size = 10
var1 = np.random.uniform(0.0, 10.0, batch_size)
var2 = np.random.uniform(0.0, 25.0, batch_size)
var3 = np.random.uniform(0.0, 30.0, batch_size)

【讨论】:

    【解决方案3】:

    uniform docs 说它可以采用像低/高值这样的数组:

    In [105]: np.random.uniform(0,(10,25,30))
    Out[105]: array([ 8.19116219, 21.65392271, 28.97388141])
    

    【讨论】:

    • 我学到了一些关于np.random.uniform的东西,谢谢!
    猜你喜欢
    • 2016-10-12
    • 2017-12-27
    • 2015-12-19
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 2016-03-20
    相关资源
    最近更新 更多