statsmodels示例似乎不起作用

时间:2013-08-28 21:07:53

标签: python pandas statsmodels

import statsmodels.formula.api as sm
import numpy as np
import pandas

url = "http://vincentarelbundock.github.com/Rdatasets/csv/HistData/Guerry.csv"
df = pandas.read_csv(url)
df = df[['Lottery', 'Literacy', 'Wealth', 'Region']].dropna()
print df.head()
mod = sm.ols(formula='Lottery ~ Literacy + Wealth + Region', data=df)
res = mod.fit()
print res.summary()

打印表格后,回显此错误。

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-f69caff21ed0> in <module>()
6 df = df[['Lottery', 'Literacy', 'Wealth', 'Region']].dropna()
7 print df.head()
----> 8 mod = sm.ols(formula='Lottery ~ Literacy + Wealth + Region', data=df)
9 res = mod.fit()
10 print res.summary()

TypeError: from_formula() takes at least 3 arguments (2 given)

这似乎不是可接受的行为。我做错了什么?

1 个答案:

答案 0 :(得分:2)

(我的评论中的猜测是错误的)

你的statsmodels版本太旧了。文档和示例对于statsmodels 0.5的发布版本是正确的。

自0.5.0.dev-1bbd4ca起,data关键字已从df重命名。

所以要么升级,我强烈推荐,要么使用旧的关键字名称

mod = sm.ols(formula='Lottery ~ Literacy + Wealth + Region', df=df)

应该使用您拥有的版本。

相关问题