首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PatsyError:错误评估因子:由于列名回归中的特殊字符,没有定义NameError: name '‘

PatsyError:错误评估因子:由于列名回归中的特殊字符,没有定义NameError: name '‘
EN

Stack Overflow用户
提问于 2020-10-16 11:06:50
回答 1查看 1.5K关注 0票数 0

我正在实施回归。Output_variable是我的y变量,input2,input4,input6 5&1,input6-3是回归方程中的x变量。所有这些基本上都是df中的列。

代码语言:javascript
运行
复制
import statsmodels.formula.api as sm
model = sm.ols(formula='Output_variable ~  Input2 + input4 + Input5&1 + input6-3', data=df)
fitted1 = model.fit()
fitted1.summary()

我得到了错误:

代码语言:javascript
运行
复制
 PatsyError                                Traceback (most recent call last)
    <ipython-input-73-20a8ca10f7b8> in <module>
          1 import statsmodels.formula.api as sm
    ----> 2 model = sm.ols(formula='Output_variable ~  Input2 + input4 + Input5&1 + input6-3', data=df)
    
PatsyError: Error evaluating factor: NameError: name 'Input5' is not defined

对于未定义的input6,我得到了相同的错误。

基本上,每当我的列名中有像一样的特殊字符和input6在其中都有符号时,就会有一个 patsyerror ,而我得到了一个patsyerror。

如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-16 11:47:01

您可以执行以下操作:

代码语言:javascript
运行
复制
import statsmodels.formula.api as sm
model = sm.ols(formula='Output_variable ~  Input2 + input4 + Q("Input5&1") + Q("input6-3")', data=df)
fitted1 = model.fit()
fitted1.summary()

问题是在patsy中,您不能使用“&”和“-”这样的特殊字符。幸运的是,开发人员解决了这个问题,允许使用Q("full text")绕过

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64387952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档