使用numpy random.normalvariate()时出错

hjzp0vay  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(161)

我尝试使用以下代码生成随机probs

probs = [np.clip(random.normalvariate(0.1, 0.05), 0, 1) for x in range(1000)]

出乎意料的是,我遇到了以下错误消息:

AttributeError: module 'numpy.random' has no attribute 'normalvariate'

有什么想法如何解决这个问题吗?我检查了文档,我发现这个属性存在于numpy.random中,但是当我在上面的代码中使用它时,它不起作用。
任何帮助解决此问题将不胜感激。

xzabzqsa

xzabzqsa1#

您似乎混淆了random模块,其文档为:https://docs.python.org/3.11/library/random.html
random子模块属于numpy,其文档可在此处https://numpy.org/doc/stable/reference/random/index.html找到

错误来源

您似乎导入了numpy.random,并尝试使用normalvariate,而后者函数属于random模块。

解决方案

因此,要解决此问题,请编写以下import

import random

probs = [np.clip(random.normalvariate(0.1, 0.05), 0, 1) for x in range(1000)]

输出量:

[0.10399310517618868,
 0.10416076922742254,
 0.10683877729386676,
 0.14789317007499886,
 0.11551976284566698,
...

相关问题