数据清洗的定义跟实际操作
数据清洗的定义
数据清洗(Data Cleaning) 是指对原始数据进行处理,以纠正、删除或填补不完整、不准确、重复或无关的数据,使其符合分析或建模的要求。数据清洗是数据预处理的关键步骤,直接影响后续分析和机器学习模型的效果。
数据清洗的主要任务
-
处理缺失值
-
删除缺失值(Drop)
-
填充缺失值(均值、中位数、众数、插值、预测填充)
-
-
处理异常值
-
删除(如超出合理范围的数据)
-
修正(如用上下限替换)
-
-
处理重复数据
-
删除完全重复的行
-
-
格式标准化
-
统一日期、时间、单位、字符串格式(如"USA" vs "United States")
-
-
数据类型转换
-
字符串转数值、日期解析、分类变量编码(One-Hot Encoding)
-
-
数据归一化/标准化
-
Min-Max归一化、Z-Score标准化
-
实际操作案例(Python + Pandas)
案例背景
假设有一份销售数据 sales_data.csv
,包含以下字段:
-
order_id
(订单ID) -
customer_name
(客户名,可能有缺失或重复) -
order_date
(日期,可能有格式不一致) -
price
(价格,可能有异常值) -
quantity
(数量,可能有缺失值)
数据清洗代码示例
python
复制
下载
import pandas as pd import numpy as np# 1. 加载数据 df = pd.read_csv("sales_data.csv")# 2. 查看数据基本情况 print(df.head()) # 查看前几行 print(df.info()) # 查看数据类型和缺失情况 print(df.describe()) # 数值统计(均值、最大最小值等)# 3. 处理缺失值 # 删除所有缺失的行(谨慎使用,可能丢失大量数据) df_cleaned = df.dropna() # 或用均值填充数值列 df["quantity"].fillna(df["quantity"].mean(), inplace=True) # 用"Unknown"填充文本列 df["customer_name"].fillna("Unknown", inplace=True) # 4. 处理重复数据 df.drop_duplicates(inplace=True) # 删除完全重复的行# 5. 处理异常值(假设price不应超过1000) df = df[df["price"] <= 1000] # 删除异常值 # 或用上限替换 df["price"] = df["price"].clip(upper=1000) # 超过1000的值替换为1000# 6. 格式标准化(统一日期格式) df["order_date"] = pd.to_datetime(df["order_date"], format="%Y-%m-%d") # 统一为YYYY-MM-DD# 7. 数据标准化(归一化) df["price_normalized"] = (df["price"] - df["price"].min()) / (df["price"].max() - df["price"].min())# 8. 保存清洗后的数据 df.to_csv("cleaned_sales_data.csv", index=False)
典型数据清洗场景
-
电商数据清洗
-
处理订单数据中的缺失地址
-
修正商品价格异常(如负值或极大值)
-
合并重复客户记录
-
-
金融风控数据清洗
-
填补缺失的交易金额
-
检测并处理异常交易(如突然大额转账)
-
-
社交媒体数据清洗
-
去除重复的评论
-
标准化用户昵称(如大小写统一)
-
总结
-
数据清洗目标:提高数据质量,使其适合分析或建模。
-
常见操作:处理缺失值、异常值、重复数据、格式标准化。
-
工具推荐:
-
Python(Pandas、NumPy)
-
SQL(去重、缺失值处理)
-
OpenRefine(可视化数据清洗工具)
-
通过数据清洗,可以显著提升后续数据分析的准确性和可靠性。
相关文章:
数据清洗的定义跟实际操作
数据清洗的定义 数据清洗(Data Cleaning) 是指对原始数据进行处理,以纠正、删除或填补不完整、不准确、重复或无关的数据,使其符合分析或建模的要求。数据清洗是数据预处理的关键步骤,直接影响后续分析和机器学习模型…...
如何用AI生成个人职业照/西装照?
一、核心工具推荐与对比 1. 搜狐简单AI • 特点: • 一键生成:上传1张生活照,AI自动生成职业照/西装照,支持商务精英、韩系女主等20模板。 • 自然微调:优化五官比例、柔化法令纹,保留个人特色࿰…...
Ecology中拦截jquery.ajax请求接口后的数据
功能:获取调用接口之后的数据在进行返回参数重写 首先ecology中一般直接看不到源码的,为什么知道是jquery.ajax请求呢,需要用到开发者工具 点开这里之后就能知道调用接口具体走的是什么逻辑然后返回值又做了哪些操作 一般来说,文…...
基于站点观测的中国1km土壤湿度日尺度数据集(2000-2022)
A 1 km daily soil moisture dataset over China based on in-situ measurement (2000-2022) 关键数据集分类地表参数数据集时间分辨率日空间分辨率1km - 10km共享方式开放获取数据大小592.76 GB数据时间范围 1999-12-31 — 2022-12-31 元数据更新时间2024-08-09 数据集摘要 …...
Django 自定义celery-beat调度器,查询自定义表的Cron表达式进行任务调度
学习目标: 通过自定义的CronScheduler调度器在兼容标准的调度器的情况下,查询自定义任务表去生成调度任务并分配给celery worker进行执行 不了解Celery框架的小伙伴可以先看一下我的上一篇文章:Celery框架组件分析及使用 学习内容ÿ…...
第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题
一、选择题 第 1 题 单选题 题目:在 C++ 中下列哪个不属于字符型常量 ( )。 A. ‘a’ B. ‘\x2A’ C. ‘@’ D. “F” 答案:D 解析:字符型常量使用单引号括起单个字符(如 A、C),或转义字符(如 B 中的十六进制转义字符)。D 选项 “F” 使用双引号,属于字符串常量,而…...
windows远程服务器数据库的搭建和远程访问(Mysql忘记密码通过Navicat连接记录解密密码)
服务器数据库的搭建和远程访问 mysql数据库安装(详细) window安装mysql详细流程 路程:重设MySQL5密码,发现远程服务器原本有一个MySQL5,尝试在服务器本地建立连接被拒绝,因为不知道密码。 (1…...
w~大模型~合集14
我自己的原文哦~ https://blog.51cto.com/whaosoft/13884560 #Attention as an RNN Bengio等人新作:注意力可被视为RNN,新模型媲美Transformer,但超级省内 , 既能像 Transformer 一样并行训练,推理时内存需求又不随 token 数…...
2025平航杯—团队赛
2025平航杯团队赛 计算机取证 分析起早王的计算机检材,起早王的计算机插入过USB序列号是什么(格式:1)分析起早王的计算机检材,起早王的便签里有几条待干(格式:1)分析起早王的计算机检材,起早王的计算机默认浏览器是什…...
5、SpringBoot整合RabbitMQ
5.1 工作队列模式 1、生产者 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</gro…...
深度学习论文: Describe Anything: Detailed Localized Image and Video Captioning
深度学习论文: Describe Anything: Detailed Localized Image and Video Captioning Describe Anything: Detailed Localized Image and Video Captioning PDF: https://arxiv.org/pdf/2504.16072 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: htt…...
Seata客户端@GlobalTransactional核心源码解析
文章目录 前言一、GlobalTransactional1.1、wrapIfNecessary1.2、handleGlobalTransaction1.3、invoke 二、总结 前言 Seata是阿里开源的分布式事务解决方案。在Spring传统的事务中,开启事务,执行事务,回滚/提交事务,统一由Spring…...
某大麦某眼手机端-抢票
引言 仅供学习研究,欢迎交流 抢票难,难于上青天!无论是演唱会、话剧还是体育赛事,大麦网的票总是秒光。作为一名技术爱好者,你是否想过用技术手段提高抢票成功率?本文将为你揭秘大麦手机端抢票的核心技术…...
深入探索ChatClient:简化AI模型交互的强大工具
深入探索ChatClient:简化AI模型交互的强大工具 前言 在人工智能飞速发展的当下,大语言模型(LLM)的应用越来越广泛。然而,构建基于LLM的应用程序并非易事,通常需要多个组件协同工作,如提示词模…...
AI 知识库:企业知识管理的利器
在数字化转型的今天,企业每天都会产生海量的信息和数据。从客户资料到内部文档,从市场调研到项目经验,这些宝贵的知识资源构成了企业的核心竞争力。然而,你是否注意到这样一个问题:很多企业在快速发展的同时࿰…...
【STM32实物】基于STM32的RFID多卡识别语音播报系统设计
演示视频: 基于STM32的RFID多卡识别语音播报系统设计 前言:本项目可实现多个电子标签IC卡RFID识别,刷卡识别后进行中文语音播报反馈,同时进行控制对应的灯光开关。以此也可扩展开发更多功能。 本项目所需主要硬件包括:STM32F103C8T6最小系统板、RFID-RC522模块、五个IC电…...
[实战] Petalinux驱动开发以及代码框架解读
目录 Petalinux驱动开发以及代码框架解读一、引言二、步骤2.1 创建PetaLinux工程2.2 配置硬件描述文件2.3 设备树配置2.4 建立驱动框架2.5 编辑 .bb 文件2.6 编写驱动文件2.7 编写 Makefile2.8 验证配方配置2.9 集成驱动到 RootFS2.10 全系统编译与部署2.11 启动验证 三、框架解…...
ArcGIS Pro几个小知识点分享
相信熟悉ArcGIS 10.X系统的朋友接触ArcGIS Pro或者QGIS的上手难度都很低,因此向大家分享我最近才注意到的一些ArcGIS Pro小的知识点或者注意事项等,用来查缺补漏。如果是GIS新手小白,建议先去了解GIS相关理论基础,再摸索GIS相关软…...
运维仙途 第1章 灵机突现探监控
第1章 灵机突现探监控 情节梗概 凌运维本是青云门杂役弟子,负责看守藏经阁灵脉枢纽。某日子夜,护山大阵突然灵力紊乱,阁中古籍无风自动。危急时刻,他意外触发祖师留下的「混沌钟」,获得观测灵脉状态的能力… 技术映…...
深入解析Java架构师面试:从核心技术到AI应用
深入解析Java架构师面试:从核心技术到AI应用 在互联网大厂的Java求职者面试中,技术深度和项目经验是成功的关键。本文以严肃的面试官与资深Java架构师马架构(拥有十年研发及架构设计经验)之间的对话为背景,详细展示了…...
Grounding DINO
论文标题: Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection 代码地址: GitHub - IDEA-Research/GroundingDINO: [ECCV 2024] Official implementation of the paper "Grounding DINO: Marrying DINO …...
MCP协议:自然语言与结构化数据的双向桥梁 ——基于JSON-RPC 2.0的标准化实践
MCP协议:自然语言与结构化数据的双向桥梁 ——基于JSON-RPC 2.0的标准化实践 一、MCP的本质:标准化共识的协议框架 MCP(Model Context Protocol)是Anthropic于2024年提出的开放通信协议,其核心价值在于建立自然语言…...
区块链+医疗:破解数据共享困局,筑牢隐私安全防线
在医疗健康领域,数据共享与隐私保护一直是一对难以调和的矛盾。一方面,分散在不同机构的医疗数据(如电子病历、检查报告、用药记录)阻碍了诊疗效率和科研进展;另一方面,患者隐私泄露事件频发,加…...
Arduino IDE中更新esp32 3.2.0版本的办法
在Arduino IDE中更新esp32-3.2.0版本是个不可能的任务,下载文件速度极慢。网上提供了离线的办法,提供了安装文件,但是没有3.2.0的版本。 下面提供了一种离线安装方法 一、腾讯元宝查询解决办法 通过打开开发板管理地址:通过在腾…...
关于 live555延迟优化之缓存区优化“StreamParser::afterGettingBytes() warning: read”” 的解决方法
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/146354088 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
毫米波通信的技术挑战与解决方案
毫米波通信的技术挑战与解决方案 随着5G技术的迅速发展,毫米波通信(Millimeter Wave, mmWave)作为一种具有巨大潜力的通信技术,正在成为实现超高速数据传输、低延迟和大规模连接的关键。然而,毫米波通信虽然在理论上具…...
软考中级-软件设计师 数据库(手写笔记)
基本概念 数据库分析设计过程 E-R模型 关系模式 关系模式相关名词和完整性约束和关系的三种类型 七种基本算法 并交查和笛卡尔积 投影选择和连接 题 规范化-函数依赖 求候选码 非规范化可能处于的问题 问题 题 关系-模型分解 事务管理 备份和恢复 数据仓库和数据挖掘...
Compose笔记(二十一)--AnimationVisibility
这一节主要了解一下Compose的AnimationVisibility,AnimatedVisibility 是 Jetpack Compose 里用于实现组件可见性动画效果的组件,借助它能让组件在显示和隐藏时带有平滑的过渡动画,从而提升用户体验。现总结如下: API 1. visible 含义:这是一…...
生物化学笔记:神经生物学概论05 感受野 视觉中枢 高级视皮层中的信息走向
信息传递中的“击鼓传花” 新特性的突现 功能柱:简化节点 高级视皮层中的信息走向...
记录idea可以运行但是maven install打包却找不到问题
解决idea使⽤maven多模块install报依赖模块的包找不到的问题 如果被依赖项⽬是springboot项⽬,那么可以把相关的springboot的东西移除掉,改造成普通项⽬。如果不想改造项⽬,那就添加部分的配置,因为springboot项⽬打包的时候会⽣…...
牛客:AB5 点击消除
链接:点击消除_牛客题霸_牛客网 题解: 利用栈,遍历输入的字符串,栈为空则入栈,栈不为空则去除栈顶字符和当前遍历到的字符比较,相等则栈顶字符出栈,当前遍历的字符也不入栈,不相等…...
vue3 动态修改系统title
vue3 动态修改系统title 修改前 修改后 1、封装 useTitle 工具函数 创建组合式 API,通过 watchEffect 监听标题变化: // composables/useTitle.js import { ref, watchEffect } from vue;export function useTitle(initialTitle) {const title r…...
产品经理.产品设计.产品设计工具
一、 产品经理常用工具 1. 业务流程图---系统流程图 业务流程图,面向用户调研,描述业务的流转和数据的处理要求,跟用户和业务方确认;---业务角色的泳道流程图。 系统流程图,面向产品需求设计, prd系描述各…...
kibana重建es索引
kibana如何重命名es索引名 背景 在初期设计es索引文档的时候考虑不是很周全,会多出很多无效字段。如果不删除或禁用对后续数据增量以及文档维护会有不良影响。 技术实现 使用 _reindex 1.执行Reindex # 复制旧索引数据到新索引 POST _reindex {"source&qu…...
windows系统常用快捷键(CMD常用命令,DOS常用命令)
Windows系统常用快捷键 Win E: 打开“文件资源管理器”(我的电脑)。Win S: 打开“搜索”功能,可以搜索文件、应用、设置等。Win I: 打开“设置”菜单,用于调整系统设置。Win X: 打开“快速链接”菜单,包含电源选项…...
使用 ossutil 上传文件到阿里云 OSS
在处理文件存储和传输时,阿里云的对象存储服务(OSS)是一个非常方便的选择。特别是在需要批量上传文件或通过命令行工具进行文件管理时,ossutil提供了强大的功能。本文将详细说明如何使用 ossutil 上传文件到阿里云 OSS,…...
专家访谈:从文本到视频,GEO多模态优化的实战法则
提问者:什么是生成引擎优化(GEO)?它与传统SEO的核心差异是什么? 源易GEO专家:生成引擎优化(GEO)是一种新兴策略,旨在提升内容在生成式AI引擎(如DeepSeek、…...
7.计算机网络相关术语
7. 计算机网络相关术语 ACK (Acknowledgement) 确认 ADSL (Asymmetric Digital Subscriber Line) 非对称数字用户线 AP (Access Point) 接入点 AP (Application) 应用程序 API (Application Programming Interface) 应用编程接口 APNIC (Asia Pacific Network Informatio…...
openEuler 22.03 安装 Redis 6.2.9,支持离线安装
目录 一、环境检查1.1 必要环境检查1.2 在线安装(有网络)1.3 离线安装(无网络) 二、下载Redis2.1 在线下载2.2 离线下载 三、安装Redis四、配置Redis服务五、开机自启服务六、开放防火墙端口七、常用命令 一、环境检查 1.1 必要环…...
Java架构师深度技术面试:从核心基础到分布式架构全解析
一场关于互联网大厂Java求职者的深度技术面试 在当今竞争激烈的互联网行业中,作为一名Java程序员,如何在众多候选人中脱颖而出显得尤为重要。本文通过一个完整的面试故事场景,以严肃的面试官和经验丰富的Java架构师马架构之间的问答形式&…...
你的项目有‘哇‘点吗?
你的项目有哇点吗? 刷了一下午招聘软件,发现没?大厂JD里总爱写有创新力者优先——可你们的简历,创新力还不如食堂菜单! 程序员写项目最大的误区:把创新当彩蛋藏最后!什么参与需求评审负责模块…...
RPG3.角色输入
流程: 需要创建原生的标签。 需要创建输入配置数据资产,通过这个资产,将标签映射到角色的唯一动作,通过输入的文本来识别应该做哪一个动作。需要创建自定义的输入组件。 需要绑定输入,创建不同的输入回调。 需要在…...
【python】-基础语法3
💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...
毕业论文 | 传统特征点提取算法与匹配算法对比分析
传统特征点提取算法与匹配算法对比分析 一、特征点提取算法对比二、特征匹配算法对比三、核心算法原理与公式1. **Harris角点检测**2. **SIFT描述子生成**3. **ORB描述子**四、完整Matlab代码示例1. **Harris角点检测与匹配**2. **SIFT特征匹配(需VLFeat库)**3. **ORB特征匹配…...
TM1668芯片学习心得三
一、键扫数据储存地址如下所示,先发读键命令后,开始读取按键数据BYTE1-BYTE5字节,读数据从低位开始输出,其中B6和B7位为无效位,此时芯片输出为0。芯片K和KS引脚对应的按键按下时,相对应的字节内的 BIT位为1…...
精益数据分析(34/126):深挖电商运营关键要点与指标
精益数据分析(34/126):深挖电商运营关键要点与指标 在创业和数据分析的学习之旅中,我们都在不断探寻如何让业务更上一层楼。今天,我依旧带着和大家共同进步的想法,深入解读《精益数据分析》中电商运营的关…...
Dify 获取天气数据并以echarts图表显示
Dify 获取天气数据并以echarts图表显示 1. 创建一个 Chatflow2. 创建一个 HTTP 请求节点3. 创建一个代码执行节点4. 创建一个直接回复节点5. 发布并预览 1. 创建一个 Chatflow 2. 创建一个 HTTP 请求节点 请求地址:https://weather.cma.cn/api/climate?stationid5…...
vtk 读取ply或者stl点云进行ICP配准(不可直接使用vtkPolyData)
在vtk中,读取ply或stl文件使用ICP进行点云配准时,需要注意不要直接使用vtkPolyData进行配准,这种方式会报错。 vtkPLYReader读取的文件可能仅包含点数据,而没有显式的顶点定义。例如,PLY文件可能只列出点的坐标&#x…...
ArrayList的特点及应用场景
ArrayList的特点及应用场景 一、ArrayList核心特点 基于动态数组实现 底层使用Object[]数组存储元素 默认初始容量为10 扩容机制:每次扩容为原来的1.5倍(int newCapacity oldCapacity (oldCapacity >> 1)) 快速随机访问 实现了R…...
【QT】编写第一个 QT 程序 对象树 Qt 编程事项 内存泄露问题
目录 1. 编写第一个 QT 程序 1.1 使用 标签 实现 1.2 纯代码形式实现 1.3 使用 按钮 实现 1.3.1 图形化界面实现 1.3.2 纯代码形式实现 1.4 使用 编辑框 实现 1.4.1 图形化界面实现 1.4.2 纯代码形式实现 1.4.3 内存泄露 2. 认识对象模型(对象树&…...