python - 在 statsmodel 中使用 OLS 时出错
问题描述
我得到了错误,
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())
我知道这两个数组的大小不同(它们包含不同数量的 NaN),但不应该missing = 'drop'
照顾它吗?
解决方案
这将按照您的预期擦除行,其中至少包含一个缺失值,并将为您提供所需的结果。
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())
推荐阅读
- c++ - 在 char 数组中定位双精度数 (C++/ROOT)
- vba - 隐藏表单后如何保留表单的数据
- arraylist - 如何将 ArrayList 传递给构造函数?
- json - 从 VB.Net 中的 Json 数组获取值
- flutter - 颤振中的自定义日期选择器
- python - 如何将表单的数据(从 HTML 页面的函数中检索)发送到 Django/Python 中另一个 HTML 页面的函数?
- amazon-web-services - 在 AWS Lambda 上使用 Node.js Express 的对等证书
- c++ - 如何直接访问类的私有成员?
- sql - 如果条件,sqlite 创建值为 1 的列
- python - 矩形在显示 PyGame 上不移动