在轴中找不到“预测”列

时间:2019-07-17 17:57:40

标签: python pandas linear-regression

我正在使用线性回归模型预测特定值。但是,我要预测的实际列不是“在轴上找到”

我将预测值更改为随机列,并且工作正常。但这不是我要关注的专栏。

这是Excel文件的格式。

     X1     X2     X3      X4   X5  X6   X7  X8     Y1     Y2
0  0.98  514.5  294.0  110.25  7.0   2  0.0   0  15.55  21.33
1  0.98  514.5  294.0  110.25  7.0   3  0.0   0  15.55  21.33
2  0.98  514.5  294.0  110.25  7.0   4  0.0   0  15.55  21.33
3  0.98  514.5  294.0  110.25  7.0   5  0.0   0  15.55  21.33
4  0.90  563.5  318.5  122.50  7.0   2  0.0   0  20.84  28.28
data = pd.read_excel("ENB2012_data.xlsx")
print(data.head())
data = data[["X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8"]]
predict = "Y1"
X = np.array(data.drop([predict], 1)) #the error lies on this line.
Y = np.array(data[predict])

我希望输出显示Y1列的预测值

Error message: KeyError: "['Y1'] not found in axis"

1 个答案:

答案 0 :(得分:0)

执行此操作时:

data = data[["X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8"]]

您从数据中删除了“ Y1”列。这样,您的数据就不再有“ Y1”。 尝试这样做:

data = pd.read_excel("ENB2012_data.xlsx")
print(data.head())
data = data[["X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "Y1"]]
predict = "Y1"
Y = np.array(data[predict])
X = np.array(data.drop([predict], 1))