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
相关产品推荐
相关产品推荐

