机器学习异常值处理 逻辑汇总一

一 清除数据中恒定不变值

如果某个数据长时间不变,默认异常,清除掉该部分数据:

python 复制代码
# 使用 `shift` 和 `cumsum` 来创建一个分组键,每次值改变都会增加组号
g = (df['沉淀池3号进水流量'] != df['沉淀池3号进水流量'].shift()).cumsum()

# 使用 `transform` 来计算每个组的大小
counts = df.groupby(g)['沉淀池3号进水流量'].transform('count')
print('counts:', counts)
# 应用一个布尔掩码,将连续出现至少5次的值替换为 NaN
df.loc[counts >= 5, '沉淀池3号进水流量'] = np.nan

# 现在df中的'column_name'列已经将所有连续5个相同的值替换为了 NaN
df.info()

二 清除超出范围的值

指定数据范围外的值清洗:

python 复制代码
df['原水浊度'] = df['原水浊度'].apply(lambda x: x if 0.01 <= x <= 3 else None)

三 使用其中一列数据替换另一列数据

python 复制代码
all_data.loc[all_data['温度'].isnull(), '温度'] = all_data.loc[all_data['温度'].isnull(), '温度2']

四 指定条件替换某一部分数据 np.where

python 复制代码
df['沉后水浊度3'] = np.where(df.index > mid_time, 0.1, df['沉后水浊度3'])
相关推荐
kaixin_啊啊3 小时前
【零基础学AI】第 25 章课后练习与答案
人工智能
水如烟4 小时前
孤能子视角:逆溯法与传统方法比较
人工智能
jimmyleeee4 小时前
大模型安全之五十一:OWASP LLM Top 10 全景解读
人工智能·安全
飞哥数智坊5 小时前
DeepSeek-V4.1-Flash-1017 官方许愿案例太吸睛,我也复刻了一个
人工智能
深蓝AI5 小时前
自报提效 12 倍,模型进步加速 1.9 倍:METR 报告到底量了什么
人工智能·程序员
怕浪猫6 小时前
从工具到代理:一张图看懂 2026–2030 年 AI 如何重构 11 个行业
人工智能·程序员·产品
云和数据.ChenGuang7 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
会飞锦鲤7 小时前
工业AI视觉检测项目完整实施方案
人工智能·深度学习·视觉检测·缺陷检测·模型训练·ai项目·工业应用
优秘智能7 小时前
优秘智能增长智脑视角下的AI试点与验收
人工智能·知识管理·企业应用
天诰8 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程