random.random 与 numPy.random

问题描述 投票:0回答:1

我在这里阅读了以下内容:

“Python stdlib 模块

random
包含伪随机数生成器,其许多方法与
Generator
中提供的方法类似。”

但是,Python 模块“random”的第一个链接的 URL 指向 Numpy 的 random.random 文档,而不是某些通用的 Python 库。

这个链接是错误的还是我只是不明白文档在这里想说的内容?我对 Python 中生成随机数的所有不同选项感到非常困惑。我现在数到至少有四个:

  1. numPy 单例 RandomState 对象

  2. numPy RandomState 对象

  3. numPy 生成器对象

  4. Python 的一般随机功能显然是这样的。

欢迎任何见解。

python numpy random
1个回答
0
投票

这个链接是不是错了?

是的。在上下文中,我认为他们的意思是“这个随机”。有三个证据可以证明这一点。

    它说它在stdlib中,而NumPy不在stdlib中。它是 Python 的可选库。
  1. 它谈论的是一个模块,而
  2. np.random.random()

    不是一个模块——它是模块内的一个函数。

    
    

  3. 后来,在同一段中,它说:
  4. Python stdlib 模块 random 包含伪随机数生成器,其许多方法与 Generator 中可用的方法类似。它使用 Mersenne Twister,并且可以使用 MT19937 访问该位生成器。
    生成器除了支持 NumPy 之外,还有一个优点是它提供了更多的概率分布可供选择。

    np.random.random()

    不支持 NumPy 是没有意义的——它是 NumPy 的一部分。另一方面,将 stdlib random 模块描述为不支持 NumPy 确实有意义。 stdlib random 模块无法创建随机数的 NumPy 数组。即使您没有安装 NumPy,它也可以正常工作。

    
    

© www.soinside.com 2019 - 2024. All rights reserved.