问题描述
我正在处理一个包含 2 列和 51 行的 csv 文件。
data = pd.read_csv("data.csv",sep = ',')
data.columns=['x_column','y_column']
然后我进行线性回归
X = data.iloc[:,0].values.reshape(-1,1)
y = data.iloc[:,1].values.reshape(-1,1)
lr = LinearRegression()
接下来我需要执行的是 Tukey 方法。
X = data.iloc[[0],:].values
y = data.iloc[[1],:].values
然后我绘制了这些框,发现我的范围在 -40 到 10 之间。
data.boxplot(return_type='dict')
plt.plot()
我需要为我的异常值分配一个值,以便在再次训练我的数据集之前删除它们。这就是我遇到问题的地方。
y_column = X[:,1]
data_outliers = (y_column > 0.0)
data[data_outliers]
当我运行最后一部分时,我得到项目错误的长度为 1 而不是 50。 错误,我不知道如何解决。任何帮助表示赞赏。
解决方法
试试:
data_outliers = (y_column > 0.0).ravel()
问题是你的 data_outliers
是一个二维的 numpy 列(形状:(1,50)),不可能像那样掩盖 df ...... ravel 只是将它压平......