ValueError:endog和exog的索引未对齐

时间:2017-12-13 09:06:46

标签: python python-3.x valueerror

我正在研究python3 jupyter笔记本。我正在创建一个预测模型,我在特定步骤中使用以下代码:

logit1 = sm.Logit(a, b).fit()

在这里,a和b具有完全羞耻的形状和类型:

  • a - 形状:(842713,); type:pandas.core.series.Series
  • b - 形状:(842713,); type:pandas.core.series.Series

我在此步骤中收到以下错误:

ValueError:endog和exog的索引未对齐。

我已经尝试过类似的问题,但找不到任何有效的答案。

非常感谢对此的任何帮助

3 个答案:

答案 0 :(得分:0)

将它们转换为列表类型,然后将其作为参数传递给Logit(),即 logit1 = sm.Logit(list(a),list(b))。fit()

答案 1 :(得分:0)

有时甚至转换为列表也会导致错误使用灵活类型无法执行还原。因此最好将其转换为numpy数组。 例如:

X_train, y_train -> np.array(y_train), np.array(X_train)

答案 2 :(得分:0)

我有同样的问题。 在我的情况下,两个Series的长度相同,并且索引在视觉上相等,但是它们不在同一位置。 因此,我确保两个Series或DataFrames都具有完全相同的索引。 我试过了,它解决了问题:

a.reindex(b.index)