为了账号安全,请及时绑定邮箱和手机立即绑定

numpy.random 与 numpy.random.Generate 有什么区别

numpy.random 与 numpy.random.Generate 有什么区别

眼眸繁星 2023-09-26 14:38:23
我最近一直在尝试模拟一些蒙特卡洛斯模拟,并遇到了numpy.random. 检查指数生成器的文档我注意到这是页面中的警告,它告诉我们Generator.exponential 应该用于新代码。尽管这样,numpy.random.exponential仍然有效,但我无法运行Generator对应的。我收到以下错误:---------------------------------------------------------------------------TypeError                                 Traceback (most recent call last)<ipython-input-14-c4cc7e61aa98> in <module>----> 1 np.random.Generator.exponential(2, 1000)TypeError: descriptor 'exponential' for 'numpy.random._generator.Generator' objects doesn't apply to a 'int' object我的问题是:这2个有什么区别?如何生成样本Generator?
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

所以你想从这样的事情开始:

>>> import numpy

>>> my_generator = numpy.random.default_rng()

此时,my_generator是一个实例numpy.random.Generator:


>>> type(my_generator)

<class 'numpy.random._generator.Generator'>

您可以使用my_generator.exponential指数分布获取变量。3.2这里,我们从具有尺度参数(或等效的速率0.3125)的指数分布中抽取 10 个样本:


>>> my_generator.exponential(3.2, size=10)

array([6.26251663, 1.59879107, 1.69010179, 4.17572623, 5.94945358,

       1.19466134, 3.93386506, 3.10576934, 1.26095418, 1.18096234])

您的Generator实例当然也可以用于获取您需要的任何其他随机变量:


>>> my_generator.integers(0, 100, size=3)

array([56, 57, 10])


查看完整回答
反对 回复 2023-09-26
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信