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

一 清除数据中恒定不变值

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

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'])
相关推荐
文青的青10 小时前
不写一行代码,用 WorkBuddy 搭建并上线个人静态博客
人工智能
IT_陈寒10 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
Dawson Zhu10 小时前
从空间 Scaling 到时间 Scaling
人工智能·语言模型·架构·aigc·agi
阿里云大数据AI技术11 小时前
本体如何落地?阿里云 Milvus 把企业文档变成知识图谱和 Wiki
人工智能
QXWZ_IA11 小时前
公安视频专网如何与定位数据融合?架构与实施要点
人工智能
小林ixn12 小时前
GraphRAG 实战:用 Neo4j 知识图谱,让 RAG 从“找货“进化到“梳理关系“
人工智能·知识图谱·neo4j
敖老师12 小时前
Dify 连局域网 Ollama 的两个坑:docker0 网段撞车,和请求里少掉的那个参数
人工智能
MocMoc12 小时前
从 0 到 1:把 Dify Chatflow 接进一个 qiankun 中后台
人工智能
民乐团扒谱机12 小时前
【微实验】NSGA-II(非支配排序遗传算法)——解决多目标优化问题的“自然选择模拟器”
linux·人工智能·算法