我已经做了一个测试序列分割&现在我正在尝试做一个比较&以列表的形式获得预测值和实际值之间的差异&并将其发送到excel中。 我做这一切与一个功能如所附的图片(内置功能是需要满足我的要求)。 为了完成我的任务,我需要y\u test作为值,但是y\u test似乎有更多的信息(在图片中显示为out put)。 如何仅获取yèu测试的值(蓝色框)?
根据建议编辑,添加代码。你知道吗
X_all = grouped_data.drop(['EndTime'], axis=1)
y_all = grouped_data['EndTime']
rsnum=[1,12,13,14,20,23,40,50,55,60,65,75,85,95,105,1132,21,27,29,48,39]
def testrun(rsn):
y_p_diff =[]
for i in rsn:
num_test = 0.025
X_train, X_test, y_train, y_test = train_test_split(X_all, y_all, test_size=num_test, random_state=i)
lassoReg = Lasso(alpha=2, normalize=True)
lassoReg.fit(X_train,y_train)
y_predl = lassoReg.predict(X_test)
print(y_test)
y_diff=y_predl[0]-y_test
y_p_diff.append(y_diff)
df = pd.DataFrame(y_p_diff)
filepath = 'predections.xlsx'
df.to_excel(filepath, index=False)
我的全部是数据帧中的一列。还添加了该数据帧的一个小片段。你知道吗
min max EndTime switch switchstrt switchend
101 1800 2507 -0.035653061 -0.05075 -0.03435
101 1800 2352 -0.092928571 -0.11045 -0.0482
101 1800 3092 -0.112404255 -0.10235 -0.1574
101 1800 2691 -0.052986667 -0.1026 -0.02175
100.598 1798.913 4457.533 -0.059848485 -0.13995 -0.04895
101 1800 3909 -0.040736842 -0.0938 -0.0519
101 1800 2113 -0.031408 -0.01755 0.0052
101 1800 2978 -0.047084211 -0.05655 -0.0683
101 1800 3490 -0.035853211 -0.1049 -0.0181
101 1800 2556 -0.028242187 -0.0324 -0.0161
101 1800 2507 -0.029035461 -0.03505 -0.01375
101 1800 3614 -0.172694444 -0.1747 -0.13885
101 1800 3722 -0.046605505 -0.1395 -0.02555
101 1800 3246 -0.07525 -0.17555 -0.0353
101 1800 2773 -0.038075 -0.0847 -0.0089
101 1800 3170 -0.08415625 -0.0895 -0.09145
101 1800 2686 -0.031238806 -0.0572 -0.02435
101 1800 2481 -0.030870968 -0.0584 -0.00925
101 1800 3920 -0.053517241 -0.11925 -0.0297
101 1800 3436 -0.150170213 -0.15965 -0.17225
101 1800 2092 -0.026723684 -0.00935 -0.0032
101 1800 2246 -0.0318 -0.01915 -0.01335
您只需要调用pandas dataframe的
values
方法来除去任何多余的信息,包括索引和数据类型。你知道吗以下是一个具有虚拟数据的可再现示例:
现在,如果我们像你那样简单地要求
df['Column1']
,我们会得到:但是如果我们要求
df['Column1'].values
,我们得到:也就是说,只有数据。你知道吗
因此,您应该或者修改
y_all
定义为:或仅保留拆分参数中的值:
相关问题 更多 >
编程相关推荐