numpy.random.Generator 与 RandomState 有何不同?

gri*_*tis 5 python random numpy

Generator听起来像是 的替代品RandomState,以及未来在 NumPy 中生成随机数的方式。

什么特征或行为(目前或计划)不会GeneratorRandomState不?

两者都可以用BitGenerator对象参数化。他们有一些不同的方法,但绝大多数似乎是相同的。

相关链接:

mmd*_*ger 2

从 numpy 版本 1.23 开始,他们在What\xe2\x80\x99s New or Different中列出了 9 个差异。为了更好地理解更改背后的逻辑,我建议阅读NEP 19

\n

总而言之:

\n
    \n
  1. API 更改已“清理”
  2. \n
  3. 性能变化似乎主要是由于从 Box-Muller 算法切换到 Ziggurat 算法所致。使用新方法,一些速度提高了 4 倍。查看性能
  4. \n
  5. Numba 和 Cython 兼容 BitGenerators。
  6. \n
  7. 用于填充现有数组的一部分并控制输出数据类型的新dtype和参数。outaxis
  8. \n
\n