【发布时间】:2022-04-02 15:36:53
【问题描述】:
我想从我的数据集“train”中删除异常值,为此我决定使用 z-score 或 IQR。
我正在 Microsoft Python Client for SQL Server 上运行 Jupyter notebook。
我已经尝试过 z-score:
from scipy import stats
train[(np.abs(stats.zscore(train)) < 3).all(axis=1)]
对于 IQR:
Q1 = train.quantile(0.02)
Q3 = train.quantile(0.98)
IQR = Q3 - Q1
train = train[~((train < (Q1 - 1.5 * IQR)) |(train > (Q3 + 1.5 *
IQR))).any(axis=1)]
...返回...
对于 z 分数:
TypeError: /: 'str' 和 'int' 的操作数类型不受支持
对于 IQR:
TypeError:不可排序的类型:str()
我的火车数据集如下所示:
# Number of each type of column
print('Training data shape: ', train.shape)
train.dtypes.value_counts()
训练数据形状:(300000, 111) int32 66 float64 30 object 15 dtype: int64
我们将不胜感激。
【问题讨论】:
-
可能缺少一些演员表。但您需要展示更多关于您的数据集的信息才能了解
-
您的火车数据是什么样的?它是否包含任何分类特征?
-
我刚刚为此编辑了 Q。