当前位置: 首页 > article >正文

Python数据清洗实战:缺失数据与异常值处理全攻略

在数据分析和机器学习的工作流中数据清洗是绕不开的关键环节。粗糙的数据就像未打磨的原石即便算法再精妙也难以提炼出有价值的信息。其中缺失数据与异常值是最常见的两类问题它们不仅会干扰统计分析结果还可能导致模型训练出现偏差。本文将结合Python实战系统讲解这两类问题的处理方法。一、缺失数据看不见的“数据黑洞”缺失数据指的是数据集中存在的空白或无效值通常以NaNNot a Number或None的形式出现。它们可能源于数据采集时的遗漏、存储错误或者用户未填写等原因。1. 缺失数据的识别在Python中我们可以借助pandas库快速定位缺失值Python复制import pandas as pd import numpy as np # 创建含缺失值的示例数据集 data pd.DataFrame({ A: [1, 2, np.nan, 4], B: [5, np.nan, np.nan, 8], C: [9, 10, 11, 12] }) # 查看每个特征的缺失值数量 print(data.isnull().sum()) # 查看数据集整体缺失情况 print(data.isnull().mean() * 100) # 以百分比显示2. 缺失数据的处理策略处理缺失值没有绝对最优的方法需结合业务场景和数据分布选择合适的方案删除法适用于缺失比例极低如5%或缺失值随机分布的情况Python复制# 删除含缺失值的行 data_drop_row data.dropna(axis0) # 删除含缺失值的列 data_drop_col data.dropna(axis1)填充法最常用的处理方式分为简单填充和智能填充Python复制# 均值填充适用于正态分布的数值型数据 data_fill_mean data.fillna(data.mean()) # 中位数填充适用于存在异常值的数值型数据 data_fill_median data.fillna(data.median()) # 众数填充适用于分类数据 data_fill_mode data.fillna(data.mode().iloc[0]) # 前向填充/后向填充适用于时间序列数据 data_fill_ffill data.fillna(methodffill) # 前向填充 data_fill_bfill data.fillna(methodbfill) # 后向填充模型预测法对于缺失比例较高的特征可以用其他特征构建模型预测缺失值Python复制from sklearn.ensemble import RandomForestRegressor # 分离含缺失值的特征和其他特征 data_train data[data[A].notnull()] data_test data[data[A].isnull()] # 训练模型 model RandomForestRegressor() model.fit(data_train[[B, C]], data_train[A]) # 预测缺失值 data.loc[data[A].isnull(), A] model.predict(data_test[[B, C]])二、异常值数据中的“离群者”异常值是指与其他数据点显著偏离的值可能是真实的极端情况也可能是数据录入错误。异常值会严重影响统计分析的结果比如拉高均值、扩大方差。1. 异常值的识别常用的异常值检测方法包括统计分析法基于正态分布的3σ原则超出均值±3倍标准差的值视为异常值Python复制# 计算均值和标准差 mean data[A].mean() std data[A].std() # 识别异常值 outliers data[(data[A] mean - 3*std) | (data[A] mean 3*std)]四分位数法IQR不受分布假设影响更适合非正态分布数据Python复制# 计算四分位数和四分位距 q1 data[A].quantile(0.25) q3 data[A].quantile(0.75) iqr q3 - q1 # 识别异常值 outliers data[(data[A] q1 - 1.5*iqr) | (data[A] q3 1.5*iqr)]可视化法通过箱线图、散点图直观识别异常值Python复制import matplotlib.pyplot as plt # 绘制箱线图 plt.boxplot(data[A]) plt.title(Boxplot of Feature A) plt.show()2. 异常值的处理策略处理异常值需先判断其产生原因再选择对应策略删除法适用于异常值为数据录入错误的情况Python复制# 删除异常值所在行 data_clean data[(data[A] q1 - 1.5*iqr) (data[A] q3 1.5*iqr)]修正法若异常值为真实数据但超出合理范围可以进行截断处理Python复制# 截断异常值到合理范围 data[A] np.where(data[A] q3 1.5*iqr, q3 1.5*iqr, data[A]) data[A] np.where(data[A] q1 - 1.5*iqr, q1 - 1.5*iqr, data[A])分箱法将数值型数据划分为不同区间弱化异常值的影响Python复制# 等频分箱 data[A_bin] pd.qcut(data[A], q4, labels[Q1, Q2, Q3, Q4])保留法若异常值代表真实的极端情况如用户消费峰值可以保留并在建模时使用对异常值不敏感的算法如决策树、随机森林三、数据清洗的最佳实践先分析后处理在处理缺失值和异常值前务必先分析其产生原因和分布特征避免盲目操作记录清洗过程详细记录每一步清洗操作保证数据处理的可追溯性验证清洗效果清洗完成后通过统计指标和可视化方法验证数据质量是否提升结合业务场景所有处理方法都应服务于业务目标避免为了清洗而清洗金句数据清洗的本质不是消除所有“不完美”而是让数据更贴合业务需求为后续分析和建模提供可靠基础。

相关文章:

Python数据清洗实战:缺失数据与异常值处理全攻略

在数据分析和机器学习的工作流中,数据清洗是绕不开的关键环节。粗糙的数据就像未打磨的原石,即便算法再精妙,也难以提炼出有价值的信息。其中,缺失数据与异常值是最常见的两类问题,它们不仅会干扰统计分析结果&#xf…...

搞定AI教材写作!工具分享及低查重策略,提升编写效率!

完成教材的初稿后,进行修改和优化的过程简直是一场“折磨”!在全面阅读全文时,要细致地查找逻辑漏洞和知识点错误,耗费的时间着实不小;而当调整一个章节的结构时,往往会牵涉到后面的多个部分,导…...

2026年免费PDF转Word在线工具横评与选型指南

核心观点摘要 行业趋势显示,在线PDF转Word工具正向免安装、跨设备、隐私安全方向发展,用户对无广告与无使用次数限制的需求显著提升。选型关键维度包括转换质量、隐私机制、操作门槛、可用性与隐性成本,其中轻量化在线平台在易用性与速度上优…...

3大云平台统一监控:Telegraf多厂商集成实战指南

3大云平台统一监控:Telegraf多厂商集成实战指南 在当今多云架构盛行的时代,企业往往同时使用AWS、Azure和Google Cloud等多个云平台,这使得跨平台的监控变得复杂而棘手。Telegraf作为一款插件驱动的服务器代理,专为收集和报告指标…...

7个技巧构建Telegraf高可用监控系统:从单点到企业级架构

7个技巧构建Telegraf高可用监控系统:从单点到企业级架构 你是否遇到过监控数据丢失、告警延迟或Agent单点故障?作为插件驱动的服务器代理(Plugin-driven server agent),Telegraf在企业级监控中扮演关键角色&#xff0…...

SharpSCADA项目实战:基于样例工程构建完整物料接收生产线

SharpSCADA项目实战:基于样例工程构建完整物料接收生产线 【免费下载链接】SharpSCADA C# SCADA 项目地址: https://gitcode.com/gh_mirrors/sh/SharpSCADA 想要快速掌握工业自动化SCADA系统的开发吗?SharpSCADA项目为你提供了一个完美的起点&…...

基于陷波滤波器的双惯量伺服系统机械谐振抑制Matlab Simulink仿真模型研究:算法原理...

(传递函数版)伺服系统基于陷波滤波器双惯量伺服系统机械谐振抑制matlab/Simulink仿真 1.模型简介模型为基于陷波滤波器的双惯量伺服系统机械谐振抑制仿真,采用Matlab R2018a/Simulink搭建 仿真模型由传递函数形式搭建,主要包括转速…...

2025届最火的六大AI科研方案解析与推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能内容生成技术越来越普遍的情形下,各种各样的降AI工具出现了&#xff0…...

DietPi开发者工具链终极指南:Git、VSCodium、PHP Composer一站式配置

DietPi开发者工具链终极指南:Git、VSCodium、PHP Composer一站式配置 【免费下载链接】DietPi Lightweight justice for your single-board computer! 项目地址: https://gitcode.com/gh_mirrors/di/DietPi DietPi作为轻量级的单板计算机系统,为开…...

终极指南:CSS解析器与PostCSS插件开发完全手册

终极指南:CSS解析器与PostCSS插件开发完全手册 【免费下载链接】awesome-css :art: A curated contents of amazing CSS :) 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-css GitHub 加速计划 / aw / awesome-css 项目是一个精心策划的 CSS 资源集合…...

hakchi2安全使用指南:如何确保不损坏原始系统

hakchi2安全使用指南:如何确保不损坏原始系统 【免费下载链接】hakchi2 Tool that allows you to add more games to your NES/SNES Classic Mini. WARNING: hakchi2 is no longer supported. Please use hakchi2 CE. 项目地址: https://gitcode.com/gh_mirrors/h…...

Vue-Weixin 朋友圈功能实现全解析:图片上传与点赞评论交互详解

Vue-Weixin 朋友圈功能实现全解析:图片上传与点赞评论交互详解 【免费下载链接】vue-weixin Vue2 全家桶仿 微信App 项目,支持多人在线聊天和机器人聊天 项目地址: https://gitcode.com/gh_mirrors/vu/vue-weixin Vue-Weixin 是一个基于 Vue2 全家…...

leetcode 困难题 1591. 奇怪的打印机 II-Strange Printer II

Problem: 1591. 奇怪的打印机 II-Strange Printer II 通过观察可以发现,像Example 2,3的最大外接矩形内包括了3和4,所以先3后4,也就是 3->4 同样的,若1的外接矩形内包括了2, 3,4&#xff0c…...

leetcode 1590. 使数组和能被 P 整除-Make Sum Divisible by P

Problem: 1590. 使数组和能被 P 整除-Make Sum Divisible by P 耗时100%&#xff0c;求出前缀和&#xff0c;若总和sum < p返回-1&#xff0c;若sum % p0返回0 否则&#xff0c;考察长度从小到大0 - n-1的子数组累加和&#xff0c;若满足条件直接返回 最后返回-1&#xff…...

GitHub被封杀后:开源难民在区块链的逃亡

对于全球软件开发者而言&#xff0c;GitHub不仅是代码仓库&#xff0c;更是数字时代的公共广场与精神家园。然而&#xff0c;近年来一系列地缘政治风波与技术壁垒&#xff0c;使得这片曾经自由的土地不断竖起高墙。从伊朗、俄罗斯开发者账号的全面封禁&#xff0c;到针对特定IP…...

Ohm模块化扩展与面向对象语法继承:构建可维护解析器的终极指南

Ohm模块化扩展与面向对象语法继承&#xff1a;构建可维护解析器的终极指南 【免费下载链接】ohm A library and language for building parsers, interpreters, compilers, etc. 项目地址: https://gitcode.com/gh_mirrors/oh/ohm Ohm是一个强大的解析器构建库和语言&am…...

终极指南:Spinnaker资源生命周期管理的完整流程与最佳实践

终极指南&#xff1a;Spinnaker资源生命周期管理的完整流程与最佳实践 【免费下载链接】spinnaker Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. 项目地址: https://gitcode.…...

终极指南:如何精准选择Fluxion攻击时间窗口与提升成功率的完整策略

终极指南&#xff1a;如何精准选择Fluxion攻击时间窗口与提升成功率的完整策略 【免费下载链接】fluxion Fluxion is a remake of linset by vk496 with enhanced functionality. 项目地址: https://gitcode.com/gh_mirrors/fl/fluxion Fluxion是一款基于linset重构的无…...

Netty-learning-example IoT服务器开发:手撕MQTT协议实现高性能物联网平台

Netty-learning-example IoT服务器开发&#xff1a;手撕MQTT协议实现高性能物联网平台 【免费下载链接】netty-learning-example :egg: Netty实践学习案例&#xff0c;见微知著&#xff01;带着你的心&#xff0c;跟着教程。我相信你行欧。 项目地址: https://gitcode.com/gh…...

SearXNG 多架构 Docker 镜像:支持 amd64、arm64 和 arm/v7 的完整指南

SearXNG 多架构 Docker 镜像&#xff1a;支持 amd64、arm64 和 arm/v7 的完整指南 【免费下载链接】searxng-docker The docker-compose files for setting up a SearXNG instance with docker. 项目地址: https://gitcode.com/gh_mirrors/se/searxng-docker 想要在五分…...

终极解析器构建指南:Ohm从CSV解析到自定义语法实战

终极解析器构建指南&#xff1a;Ohm从CSV解析到自定义语法实战 【免费下载链接】ohm A library and language for building parsers, interpreters, compilers, etc. 项目地址: https://gitcode.com/gh_mirrors/oh/ohm Ohm是一个强大的解析器构建库和领域特定语言&#…...

OPAL速率限制终极指南:如何有效控制策略更新频率

OPAL速率限制终极指南&#xff1a;如何有效控制策略更新频率 【免费下载链接】opal Policy and data administration, distribution, and real-time updates on top of Policy Agents (OPA, Cedar, ...) 项目地址: https://gitcode.com/gh_mirrors/opal1/opal 在分布式策…...

Cats定律测试终极指南:如何确保类型类实例的正确性

Cats定律测试终极指南&#xff1a;如何确保类型类实例的正确性 【免费下载链接】cats Lightweight, modular, and extensible library for functional programming. 项目地址: https://gitcode.com/gh_mirrors/ca/cats Cats是一个轻量级、模块化、可扩展的函数式编程库&…...

物联网设备搜索终极指南:Shodan与Censys实战应用

物联网设备搜索终极指南&#xff1a;Shodan与Censys实战应用 在当今万物互联的时代&#xff0c;物联网设备搜索已经成为网络安全领域的关键技能。通过Shodan和Censys这两大专业工具&#xff0c;你可以轻松发现连接到互联网的各种设备&#xff0c;从智能摄像头到工业控制系统&a…...

终极指南:OPAL外部数据源配置与API策略源实战

终极指南&#xff1a;OPAL外部数据源配置与API策略源实战 【免费下载链接】opal Policy and data administration, distribution, and real-time updates on top of Policy Agents (OPA, Cedar, ...) 项目地址: https://gitcode.com/gh_mirrors/opal1/opal OPAL&#xf…...

Docker 快速通关

一、Docker 大致介绍 Docker 可以帮助我们完成应用的 运行&#xff08;run&#xff09;、构建&#xff08;build&#xff09; 和 分享&#xff08;share&#xff09;。 它的核心目标很简单&#xff1a; 把应用和环境打包起来让应用在不同机器上尽量保持一致方便部署、迁移和…...

高校AIGC检测越来越严格背后的原因:政策趋势和学生应对建议

高校AIGC检测越来越严格背后的原因&#xff1a;政策趋势和学生应对建议 超过六成高校已经把AIGC检测纳入论文审查流程。但真正了解检测原理的人不到一成。 我判断&#xff1a;高校AIGC检测趋严这件事&#xff0c;大多数人的恐慌来自不了解。搞清楚原理&#xff0c;应对起来没…...

Acetic Acid-PEG-Silane,与蛋白质、抗体或核酸的氨基通过酰胺键连接

一.名称英文名&#xff1a;AA-PEG-Silane&#xff0c;Acetic Acid-PEG-Silane&#xff0c;Silane-PEG-AA&#xff0c;Silane-PEG-Acetic Acid中文名&#xff1a;乙酸聚乙二醇三乙氧基硅烷&#xff0c;乙酸-PEG-三乙氧基硅烷&#xff0c;三乙氧基硅烷聚乙二醇羟基&#xff0c;硅…...

AA-PEG-C12/C16/C18,乙酸聚乙二醇月桂/棕榈/硬脂酸酯,一类结合了乙酸、聚乙二醇和长链烷基的化合物

一.名称英文名称&#xff1a;AA-PEG-C12/C16/C18&#xff0c;Acetic Acid-PEG-C12/C16/C18中文名称&#xff1a;乙酸聚乙二醇月桂/棕榈/硬脂酸酯&#xff0c;乙酸-PEG-月桂/棕榈/硬脂酸酯分子量&#xff1a;1k&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&#xff0c;10k&…...

AA-PEG-Lipoic acid,硫辛酸PEG乙酸,显著提升稳定性和生物相容性

一.名称英文名称&#xff1a;AA-PEG-LA&#xff0c;AA-PEG-Lipoic acid&#xff0c;Acetic Acid-PEG-LA&#xff0c;Acetic Acid-PEG-Lipoic acid&#xff0c;LA-PEG-AA&#xff0c;Lipoic acid-PEG-AA中文名称&#xff1a;硫辛酸聚乙二醇乙酸&#xff0c;硫辛酸PEG乙酸分子量&…...