You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时移除X_train与y_train中索引匹配的异常值对应行

最简实现方案

核心逻辑是生成y_train的保留行布尔掩码,用同一掩码同时过滤两个对象即可,pandas会自动按索引对齐行,无需手动匹配索引。

步骤1:生成保留行掩码(True对应要保留的正常行,False对应要删除的异常值行)

你可以根据自己的异常值判定规则生成掩码,下面给出两种常用场景的示例:

  • 3σ原则异常值判定示例:
mean_val = y_train.mean()
std_val = y_train.std()
mask = (y_train >= mean_val - 3 * std_val) & (y_train <= mean_val + 3 * std_val)
  • 四分位距IQR异常值判定示例:
q1 = y_train.quantile(0.25)
q3 = y_train.quantile(0.75)
iqr = q3 - q1
mask = (y_train >= q1 - 1.5 * iqr) & (y_train <= q3 + 1.5 * iqr)

步骤2:同步过滤X_train和y_train

# 生成过滤后的新数据集,不修改原数据
X_train_clean = X_train[mask]
y_train_clean = y_train[mask]

# 如果需要直接覆盖原有变量,可替换为:
# X_train = X_train[mask]
# y_train = y_train[mask]

注:只要拆分训练集时X_train和y_train的行索引是对应关系(标准train_test_split拆分默认保持索引对应),该方法就可以100%保证过滤后两份数据的行对应关系不会出错。

内容的提问来源于stack exchange,提问作者user15963626

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:18:03