使用numpy random.normalvariate()时出错



我尝试使用以下行代码生成随机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模块。

<<p>

解决方案/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,
...

最新更新