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

一 清除数据中恒定不变值

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

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'])
相关推荐
天上掉下个牛霸天2 分钟前
2025年十大技术趋势前瞻
人工智能·ai
专注数据的痴汉5 分钟前
「数据获取」内蒙古地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)
大数据·人工智能·信息可视化
aopstudio5 分钟前
HuggingFace Tokenizer 的进化:从分词器到智能对话引擎
人工智能·自然语言处理·llm·huggingface
JQLvopkk6 分钟前
全栈可视化数字孪生开发平台阐述
人工智能·自动化
b***25118 分钟前
动力电池半自动生产线如何平衡自动化投入与规模化需求
人工智能
Hernon8 分钟前
AI智能体 - 优先级排序
大数据·人工智能
Pyeako15 分钟前
机器学习--矿物数据清洗(六种填充方法)
人工智能·python·随机森林·机器学习·pycharm·线性回归·数据清洗
后端小肥肠15 分钟前
告别“抽卡”!n8n+Coze:固定IP角色+老纪先生风格漫画全自动生产
人工智能·aigc·coze
光羽隹衡17 分钟前
深度学习——卷积神经网络CNN
人工智能·深度学习·cnn
爱看科技20 分钟前
苹果Siri借谷歌Gemini大模型发力,微美全息全栈技术领航AI多元场景变革应用
人工智能