我尝试使用以下行代码生成随机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
中,但是当我在上面的代码中使用它时,它不起作用。
如果您能帮助解决这个问题,我将不胜感激。
似乎你混淆了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
模块。
解决方案/strong>因此,要解决这个问题,请编写以下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,
...