numpy中的random不生成随机数

Ham*_*ahi -1 python random numpy

伙计们,我正在使用它来生成随机系统,由于它的功能,我想在Numpy中选择随机模块。但是当我想实现它时,我意识到Numpy不会真正生成psedu-random数。简单来说,以下代码的结果每次都是0:

    import numpy as np
    for i in range(10000):
         n[i] = np.random.randint(0,1)
Run Code Online (Sandbox Code Playgroud)

正如我提到的,n中的所有单元格都为零。即使当我在每次迭代之间添加一个暂停时,我仍然具有相同的结果。

    import time  
    import numpy as np
    for i in range(10000):
         n[i] = np.random.randint(0,1)
         time.sleep(2)
Run Code Online (Sandbox Code Playgroud)

当我使用随机生成模块时,情况并非如此。由于此问题确实会影响我的结果的完整性,因此,我非常感谢任何有关如何克服此问题或为什么会发生此问题的命令。

PS:当我在IDLE中导入Numpy并只是打印时,情况并非如此

  np.random.randint(0,1)
Run Code Online (Sandbox Code Playgroud)

一次又一次。在这种情况下,结果看起来像是随机的。

Rob*_*ern 5

high参数numpy.random.randint(low, high)是一个专用范围,例如range(low, high)。您希望numpy.random.randint(0, 2)产生0或1的机会均等。

这不同于random.randint()使用包含范围的标准库的。包含范围被广泛认为是设计错误。这两个函数的命名大多是巧合。numpy.random.randint()从早于标准模块NumericRandomArray模块继承而来random,其设计是为了向后兼容,RandomArray以简化从Numeric到的过渡numpy