python - 我应该使用 numpy 的随机生成器吗?

标签 python numpy

我有一个大型 Python 代码,自 2014 年以来一直在维护/更新/扩展。最近遇到了numpyRandom Number Generator Policy (2018-05) 现在我有点困惑。

我不确定发生了什么变化,是否应该相应地升级我的代码以使用新的 Random Generator .例如,Random sampling文档说:

# Do this
from numpy.random import default_rng
rng = default_rng()
vals = rng.standard_normal(10)
more_vals = rng.standard_normal(10)

# instead of this
from numpy import random
vals = random.standard_normal(10)
more_vals = random.standard_normal(10)

我所有的代码都依赖于第二个块中显示的(旧的?)语法(即,我不使用 default_rng 而是简单地调用 np.random.seed()np.random.uniform()np.random.normal() 等),我不使用不知道为什么我应该使用第一个块而不是第二个块。

有人可以对此有所了解吗?

最佳答案

1.在python2(旧代码)中,default_rng 不可用。

2.在python3(新代码)中,您提到的第一个和第二个块都将无错误地运行并执行。

3.将来他们可能会从即将推出的python版本中删除random.standard_normal,这就是为什么他们提到使用default_rng而不是random.standard_normal

关于python - 我应该使用 numpy 的随机生成器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62089265/

相关文章:

python - pip 安装 - 杀死

python - 如何检查pandas中另一个数据框中是否存在值?

python - 在静默安装 Python 时添加到 Path var - 可能的错误?

python - 在多个 Tkinter LabelFrames 之间使用网格对齐小部件

python - 在其内容循环中删除顺序NumPy数组索引

python - 运行 Python 脚本时需要错误 : Microsoft Visual C++ 10. 0(无法找到 vcvarsall.bat)

python - 如何在python中找到矩阵对角线上下元素的总和?

python - numpy.genfromtxt : Ambiguous delimiters?

python - 使用两个字典键(键 1 _和_ 2)来确定值

python - 在numpy中随机排列数组的一部分