【发布时间】:2018-07-10 23:45:10
【问题描述】:
我正在尝试完成一项家庭作业,为此我需要在 statsmodels 中使用分类变量(由于拒绝像其他人一样使用 stata)。我花了一些时间阅读 Patsy 和 Statsmodels 的文档,但我不太明白为什么这个 sn-p 代码不起作用。我尝试将它们分解并使用 patsy 命令创建它,但出现了同样的错误。
我目前有:
import numpy as np
import pandas as pd
import statsmodels.formula.api as sm
# This is where I'm getting data
data = pd.read_csv("http://people.stern.nyu.edu/wgreene/Econometrics/bankdata.csv")
# I want to use this form for my regression
form = "C ~ Q1 + Q2 + Q3 + Q4 + Q5 + C(BANK)"
# Do the regression
mod = sm.ols(form, data=data)
reg = mod.fit()
print(reg.summary2())
此代码引发错误:TypeError: 'Series' object is not callable。 statsmodels 网站上有一个非常相似的示例here 似乎工作正常,但我不确定我在做什么和他们在做什么之间有什么区别。
非常感谢任何帮助。
干杯
【问题讨论】:
-
请提供完整的回溯。
-
我很佩服你的不合格!你的代码对我有用;您是否使用当前版本的
pandas和statsmodels? -
我使用的是 pandas 13.0 版和 statsmodels 0.5.0 版。我很高兴代码为你工作 DSM(你在哪个版本?),下面的答案确定了它(抱歉延迟,在发布问题后昨晚出去了,直到很晚才回来)。我只是没想到列名
C会干扰C()。谢谢大家。
标签: python pandas statsmodels