You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用numpy random.normalvariate()遇AttributeError错误的解决咨询

解决方法:AttributeError: module 'numpy.random' has no attribute 'normalvariate'

问题原因

normalvariate是Python标准库random模块的方法,并非numpy.random的API。你大概率是混淆了两个模块的用法,或是导入时错误将numpy.random别名为random,导致调用了不存在的方法。

两种可行修复方案

方案1:使用Python标准库random模块

确保导入的是标准库的random,而非numpy.random,代码如下:

import random
import numpy as np

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

方案2:使用Numpy的正态分布生成函数(更高效)

如果想用Numpy实现,应使用np.random.normal(注意是normal而非normalvariate),且Numpy支持直接生成数组,无需列表推导式,效率更高:

import numpy as np

# 直接生成1000个符合要求的数值,再做截断
probs = np.clip(np.random.normal(0.1, 0.05, size=1000), 0, 1)

进阶推荐(Numpy新版本用法)

Numpy 1.17+推荐使用新的随机数生成器API,更稳定且线程安全:

import numpy as np

rng = np.random.default_rng()
probs = np.clip(rng.normal(0.1, 0.05, size=1000), 0, 1)

内容的提问来源于stack exchange,提问作者Khaled DELLAL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 04:05:54