想用自助法划分数据集并输出训练集内的某些数据
df = pd.read_excel(filename)
y = df['目标值'].values
X=df.loc[:,'特征值']
X_train1 = X.sample(frac=1.0,replace=True)
X_test = X.loc[X.index.difference(X_train1.index)].copy()
y_test=y[X.index.difference(X_train1.index)]
y_train=y[X_train1.index]
print(X_train1.iloc[:,1][0])#这里报错
最后一行时而报错时而跑通
主要原因是iloc是根据DataFrame中的标号输出,而不是按照元素顺序,X_train1.iloc[:,1][0]输出的是第一列,对应索引值为“0”的行的内容。由于我是自助法采样,可能没有收集到行索引值为“0”的数据。
改进方法是改为X_train1.iloc[:,1].index[0]即可