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

运行IBM技能实验室代码遇NameError:'stats'未定义,如何解决?

解决NameError: name 'stats'未定义问题

你运行的这段计算皮尔逊相关系数的代码出现了NameError: name 'stats' is not defined错误,原因是代码中用到的stats模块未提前导入。

解决方案

  • 方式一:导入scipy.stats并命名为stats,和原代码兼容:
    在代码开头添加导入语句:

    import scipy.stats as stats
    

    之后再运行你的原代码即可:

    pearson_coef, p_value = stats.pearsonr(df['city-mpg'], df['price'])
    print("皮尔逊相关系数为", pearson_coef, ",P值为 P = ", p_value)
    
  • 方式二:直接导入pearsonr函数,简化代码:
    导入语句改为:

    from scipy.stats import pearsonr
    

    此时代码需调整为:

    pearson_coef, p_value = pearsonr(df['city-mpg'], df['price'])
    print("皮尔逊相关系数为", pearson_coef, ",P值为 P = ", p_value)
    

错误原因说明

Python中使用任何模块或函数前都需要先导入,原代码直接调用stats.pearsonr,但Python找不到名为stats的已导入模块,因此抛出NameError。

内容的提问来源于stack exchange,提问作者Collins Ekwe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:25:37