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

一 清除数据中恒定不变值

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

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'])
相关推荐
想会飞的蒲公英4 分钟前
PyTorch中SGD 与 Momentum 从零理解:给最朴素的优化器加上“惯性“
人工智能·pytorch·python·深度学习·机器学习
额恩666 分钟前
自然语言处理 NLP 入门与语言学基础
人工智能·自然语言处理
paopaokaka_luck6 分钟前
基于springboot3+vue3的乡村医生诊疗管理系统(AI助手、协同过滤算法、webSocket实时聊天、Echarts图形化分析)
前端·网络·人工智能·spring boot·websocket·网络协议·echarts
用户298698530148 分钟前
PDF 转图片?三种方案,覆盖全平台与自动化场景
人工智能·后端
Coffeeee9 分钟前
天天 AI Coding 的你,如果出去面试,你的竞争力是什么?
人工智能·程序员·ai编程
小飞猪。。15 分钟前
笔记十八:大模型 RLHF 系统工程实战笔记
人工智能·笔记
钱六两16 分钟前
Spring AI 使用 MCP 客户端(调用高德 MCP)
java·人工智能·spring
盈飞无限17 分钟前
AI智能SPC重构制程管控逻辑,打造质量硬核底座
大数据·人工智能·重构
qq_3651853121 分钟前
2026B 端工业抖音代运营公司测评:技术驱动破解制造企业获客困局
大数据·人工智能·物联网·制造
意图共鸣26 分钟前
意图共鸣科技 · 底色定调书
人工智能·microsoft