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

statsmodels线性回归代码报SyntaxError:如何修复变量名空格问题?

解决statsmodels OLS公式中含空格变量名的SyntaxError问题

出现这个错误是因为statsmodels的公式解析器会把变量名里的空格当成语法分隔符,无法正确识别带空格的变量。可以用以下两种方法修复:

  • 方法一:用反引号包裹带空格的变量名
    在公式字符串中,给包含空格的变量名加上反引号(`),让解析器正确识别为单个变量:

    model = smf.ols("`Employee Salary` ~ `Years Experience`", data=Salary).fit()
    
  • 方法二:重命名DataFrame的列
    将带空格的列名修改为符合Python命名规范的格式(比如用下划线代替空格),之后直接使用新列名写公式:

    # 重命名列(inplace=True会直接修改原DataFrame)
    Salary.rename(columns={
        "Employee Salary": "Employee_Salary",
        "Years Experience": "Years_Experience"
    }, inplace=True)
    # 拟合模型
    model = smf.ols("Employee_Salary ~ Years_Experience", data=Salary).fit()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:14:50