我正在尝试使用 statsmodels 和 pandas 数据框运行多重 OLS 回归。不同行的不同列中缺少值,并且我不断收到错误消息:
ValueError:数组不得包含 infs 或 NaN
我看到了这个问题,它很相似,但并没有完全回答我的问题:statsmodel.api.Logit:valueerror 数组不得包含 infs 或 nans https://stackoverflow.com/questions/19223408/statsmodel-api-logit-valueerror-array-must-not-contain-infs-or-nans
我想做的是运行回归并忽略我在此回归中使用的变量缺少变量的所有行。现在我有:
import pandas as pd
import numpy as np
import statsmodels.formula.api as sm
df = pd.read_csv('cl_030314.csv')
results = sm.ols(formula = "da ~ cfo + rm_proxy + cpi + year", data=df).fit()
我想要类似missing =“drop”的东西。
任何建议将不胜感激。非常感谢。
你是在自问自答。只要通过
missing = 'drop'
to ols
import statsmodels.formula.api as smf
...
results = smf.ols(formula = "da ~ cfo + rm_proxy + cpi + year",
data=df, missing='drop').fit()
如果这不起作用,那么这是一个错误,请通过 github 上的 MWE 报告它。
仅供参考,请注意上面的导入。 Formula.api 命名空间中并非所有内容都可用,因此您应该将其与 statsmodels.api 分开。或者只是使用
import statsmodels.api as sm
sm.formula.ols(...)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)