[英]OLS using statsmodel.formula.api versus statsmodel.api
[英]Error using OLS in statsmodel
我遇到了错误,
IndexError: boolean index did not match indexed array along dimension 1;
dimension is 52 but corresponding boolean dimension is 184
通过运行以下代码:
y = dat2['WaterWithdMunicipal']
X = dat2['WaterWithdIndustrial']
model = sm.OLS(y,X, data=dat2, missing='drop')
p = model.fit()
print(p.summary())
我知道这2个数组的大小不同(它们包含不同数量的NaN),但是missing = 'drop'
应该解决这个问题?
missing = 'drop'
将删除缺少值的行,这就是X和y长度不同的原因。
有多种填充方法,但我喜欢pandas.DataFrame.fillna
。
这将按预期擦除行,其中至少包含一个缺失值,并将为您提供所需的结果。
dat2 = dat2.replace('', np.NaN)
dat2 = dat2.dropna()
y = dat2['WaterWithdMunicipal']
X = dat2['WaterWithdIndustrial']
model = sm.OLS(y,X, data=dat2)
p = model.fit()
print(p.summary())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.