0

0

Python数据清洗实战_Pandas技巧与异常值处理方法

冷炫風刃

冷炫風刃

发布时间:2025-12-30 13:34:02

|

943人浏览过

|

来源于php中文网

原创

数据清洗是数据分析前最关键的一步,需用pandas快速识别缺失与重复数据、合理填充缺失值、修正数据类型,并结合标准差法、iqr法及业务规则处理异常值。

python数据清洗实战_pandas技巧与异常值处理方法

数据清洗是数据分析前最关键的一步,Pandas 是 Python 中最常用、最高效的工具。掌握核心技巧和异常值识别处理方法,能大幅减少后续建模误差,提升分析可信度。

快速识别缺失与重复数据

缺失值(NaN)和重复行是清洗中最常见的问题。用 df.isnull().sum() 可一键统计每列缺失数量;df.duplicated().sum() 返回重复行总数。注意:重复判断默认检查所有列,若只需按关键字段(如用户ID、订单号)去重,应使用 df.drop_duplicates(subset=['user_id'], keep='first'),避免误删有效记录。

  • 对数值型缺失,优先考虑中位数填充(抗异常值干扰),而非均值
  • 对分类变量缺失,可新增类别如“Unknown”,不建议直接删除整行(尤其样本少时)
  • df.info() 查看数据类型,常发现本该是数值的列被读成 object(如含空格或单位“kg”),需先 .str.replace().astype(float)

高效处理异常值:三类实用策略

异常值不等于错误值,需结合业务判断。Pandas 配合 NumPy 提供灵活检测方式:

  • 标准差法:适用于近似正态分布,如 df[(np.abs(df['price'] - df['price'].mean()) > 3 * df['price'].std())]
  • IQR 四分位距法:更稳健,计算 Q1-1.5×IQR 和 Q3+1.5×IQR,用布尔索引过滤,适合偏态数据
  • 业务规则硬过滤:如年龄>120 或<0、订单金额为负、时间戳超出合理范围,直接用 df.query('age >= 0 and age

处理方式依场景而定:删除(样本充足)、截断(cap/floor,如把价格>99分位设为该分位值)、或单独标记为新列(如 df['is_outlier_price'] = outlier_mask),保留信息供后续分析。

Q.AI视频生成工具
Q.AI视频生成工具

支持一分钟生成专业级短视频,多种生成方式,AI视频脚本,在线云编辑,画面自由替换,热门配音媲美真人音色,更多强大功能尽在QAI

下载

立即学习Python免费学习笔记(深入)”;

字符串与时间字段的清洗要点

真实数据中,日期和文本常混杂空格、大小写、格式混乱。Pandas 的 .strpd.to_datetime() 是利器:

  • 统一字符串:用 .str.strip().str.lower() 去首尾空格并小写;含多种分隔符(如“/”、“-”、“.”)的日期,pd.to_datetime(df['date'], errors='coerce') 自动解析,失败转为 NaT,便于定位脏数据
  • 提取结构化信息:如从邮箱提取域名 df['email'].str.split('@').str[1],或从地址中抽省份 df['addr'].str.extract(r'(北京|上海|广东)')
  • 时间特征工程:转换后可用 .dt.year.dt.dayofweek 等快速生成周期性变量,但注意时区与缺失值传播

链式操作与函数封装提升复用性

清洗逻辑往往多步嵌套,易出错且难维护。推荐用 Pandas 链式写法 + 自定义函数:

  • .pipe() 把清洗步骤模块化,如 df.pipe(clean_numeric).pipe(handle_outliers).pipe(encode_categories)
  • 将通用逻辑封装成函数,例如 def fill_na_by_group(df, group_col, target_col, method='median'):,支持按用户、地区等分组填充,避免全局填充失真
  • 保存清洗后的数据时,用 df.to_parquet() 替代 CSV,保留数据类型、速度快、支持压缩,适合迭代开发

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

78

2025.12.04

Python 数据清洗与预处理实战
Python 数据清洗与预处理实战

本专题系统讲解 Python 在数据清洗与预处理中的核心技术,包括使用 Pandas 进行缺失值处理、异常值检测、数据格式化、特征工程与数据转换,结合 NumPy 高效处理大规模数据。通过实战案例,帮助学习者掌握 如何处理混乱、不完整数据,为后续数据分析与机器学习模型训练打下坚实基础。

12

2026.01.31

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

335

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

223

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

138

2026.02.12

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

594

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

105

2025.10.23

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

68

2026.03.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号