【发布时间】:2016-04-25 00:45:30
【问题描述】:
我正在尝试遍历 Pandas 数据框。列表 L 包含用于指定 X 或 Y 应从哪一行开始的值,即 (1:, 2:, 3:)。
list = [1,2,3]
for L in list:
X = data.ix[L:, 'X':]
Y = data.ix[L:, 'Y']
regressor = LinearRegression()
regressor.fit(X, Y)
prediction = regressor.predict([[Variable]])
尝试上述操作时的错误是:
TypeError: 'type' object is not iterable
【问题讨论】:
-
你不是说
for l in L:吗?您正在尝试迭代list类型,为什么还要在每次迭代时重新创建回归模型?只需在外面定义一次并引用它 -
另外,您所做的只是增量切片 df,您可以通过
for df in data.iloc[::1]: X = df['X'] Y = df['Y'] e.t.c. -
Ed,我在每次迭代中重新创建回归模型,因为 X/Y 的每个子集都是具有不同结果的不同模型。我实际上是在尝试使用模型输入的滚动窗口进行回归。
-
Ed,您能否详细说明您将如何实施您的解决方案。我不太明白。非常感谢。
标签: python numpy pandas scikit-learn