问题描述
我正在尝试使用statsmodels对数据运行线性模型。我的数据框如下所示:
0 Group Age Education
3_0001 190.8 1.0 47 12
3_0002 482.1 1.0 44 16
4_0003 144.1 0.0 38 18
4_0004 205.6 0.0 51 15
第一列是索引。第二列标题为0,并带有多个前导空格。有88行数据。我的代码如下:
import statsmodels.formula.api as sm
formula = "'" + list(df)[0] + " ~ " + list(df)[1] + "'"
model = sm.ols(formula,data=df).fit()
我收到一条错误消息:
Traceback (most recent call last):
File "AUC.py",line 109,in <module>
model = sm.ols("'"+formula+"'",data=nodeDF_clean).fit()
File "/usr/local/lib64/python3.6/site-packages/statsmodels/base/model.py",line 169,in from_formula
missing=missing)
File "/usr/local/lib64/python3.6/site-packages/statsmodels/formula/formulatools.py",line 65,in handle_formula_data
NA_action=na_action)
File "/usr/local/lib/python3.6/site-packages/patsy/highlevel.py",line 310,in dmatrices
NA_action,return_type)
File "/usr/local/lib/python3.6/site-packages/patsy/highlevel.py",in _do_highlevel_design
return_type=return_type)
File "/usr/local/lib/python3.6/site-packages/patsy/build.py",line 893,in build_design_matrices
rows_checker.check(value.shape[0],name,origin)
File "/usr/local/lib/python3.6/site-packages/patsy/build.py",line 795,in check
raise PatsyError(msg,origin)
patsy.PatsyError: Number of rows mismatch between data argument and ' 0 ~ Group' (88 versus 1)
' 0 ~ Group'
^^^^^^^^^^^^^^^^^
我正在使用patsy 0.5.1。和python 3.6.8。我尝试重命名第一列以消除前导空格。我尝试了ols公式的许多不同迭代,所有迭代都具有相同的错误。我究竟做错了什么? 预先感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)