python报错:patsy.PatsyError: error tokenizing input (maybe an unclosed string?)

 在使用python中statsmodels.api模块时,在多元线性回归拟合过程中,会出现以下报错:

model = sm.formula.ols("y1~土壤蒸发量mm+土壤蒸发量(mm)+x3+x4+x5+x6+x7", data = train).fit()

patsy.PatsyError: Error evaluating factor: NameError: name '土壤蒸发量' is not defined

原因是字段中没法识别(),当把括号去掉,仅包含中文和英文是可以的

sm.formula.ols("y1~土壤蒸发量mm+温度℃+x3+x4+x5+x6+x7", data = train).fit()

当字段中包含其它字符如,℃,也会报错:

patsy.PatsyError: error tokenizing input (maybe an unclosed string?)

 处理方式是把字段的特殊符号去掉,如,(),℃,等等,或者读取数据后,更换列字段,用x1,x2符号表示。

你可能感兴趣的:(python编程报错,python,开发语言,机器学习)