np.random.rand Python的等效代码

时间:2019-03-22 22:04:35

标签: python numpy programming-languages

numpy.random.rand()的功能是什么?我阅读了文档,并说创建给定形状的数组,并用均匀分布在[0,1)上的随机样本填充它。阅读文档后,我仍然不了解numpy.random.rand()的工作方式。

我希望通过将numpy.random.rand()函数与任何编程语言相关联来更好地理解它,它可以是C ++,Java等。 numpy.random.rand的伪代码说明em>仍然可以接受并且对我有帮助。如下面的示例:

equivalentRandomRandPython(size,size) {
      seed = size*size
      return seed*this.random();
}

我知道这是错误的。有人可以帮忙解释一下吗?我会很感激的。

编辑:该线程还有许多步骤需要解决,并且@Apalala给出了numpy.random.rand函数与其他可用于任何编程语言的代码等效的提示。 numpy.random.rand与代码中具有强随机数的代码等效。但是该定义与种子之间的关系仍然不清楚。

2 个答案:

答案 0 :(得分:1)

该功能更像下面的代码。您不以此更改RNG seed ;我认为您在示例中误用了该术语。

equivalentRandomRandPython(len, wid) {
    for (row=0; row < len; row++) {
        for (col = 0; col < wid; col++) {
            array[row, col] = random()
    return array

这假设random是规范的RNG,并且返回范围为[0.0,1.0)的float。 我没有分配数组,但是您询问了有关随机方面的更多信息。

答案 1 :(得分:1)

我要补充一点,由于对序列进行逆向工程,因此从数据中播种最终将带来安全风险。

Python和numpy的随机数生成器使用计算机可以产生的最佳随机种子来工作。

为了在测试过程中具有可重现性,可以为随机数生成器添加种子(seed(n),而n可以是您想要使序列可重现的任何对象)。

请注意,对于涉及安全性的所有内容,Python文档建议使用secrets模块。