首页 > 其他分享 >数据通用清洗规则

数据通用清洗规则

时间:2024-03-06 09:45:36浏览次数:18  
标签:通用 删除 错误 空值 规则 格式 清洗 数据 缺失

一、空值校验

空值校验通常涉及以下几个方面:

识别空值:

首先,需要识别数据集中的空值。空值可以表现为NULL、空字符串、特定的标记(如“N/A”或“缺失”)等。

分析空值原因:

在识别空值后,需要分析空值产生的原因。这有助于确定是否需要填充空值或如何处理空值。空值的原因可能包括数据录入错误、测试数据、传感器故障、数据不可用等。

空值处理策略:

根据空值的原因和数据集的特点,选择合适的空值处理策略。

常见的处理策略包括:

删除含有空值的行或列。

使用均值、中位数、众数等统计量填充空值。

使用插值方法、回归方法或机器学习模型预测空值。

根据其他字段或外部数据源来填充空值。

二、去除重复数据

在数据中可能存在重复的记录,可以通过对比各字段值来判断是否存在重复数据,并进行删除或合并操作。重复数据可能会导致分析结果的不准确和资源的浪费。

以下是数据清洗去重的一般步骤:

1、确定重复数据的标准:

在某些情况下,整行数据完全相同即为重复。在其他情况下,某些关键字段(如ID、姓名、地址、身份证号码等)相同也可能被视为重复。

使用唯一标识符:

如果数据集中存在唯一标识符(如主键、唯一索引等),可以基于这些标识符来快速识别和删除重复数据。

验证去重结果:

在去重之后,需要验证数据集以确保重复数据已被正确删除。可以通过随机抽样、计算去重前后的数据行数差异或使用专门的验证工具来进行验证。

处理特殊情况:

有时,某些看似重复的数据可能实际上具有不同的意义或上下文。在这种情况下,需要仔细审查数据,并确定是否应该将其视为重复数据进行删除。

三、 缺失值处理

缺失值可能由多种原因导致,例如数据记录的不完整、设备故障、人为错误等。处理缺失值需要根据数据类型和缺失值的原因选择合适的方法,常见的处理方式包括删除、填充、插值等。处理缺失值的方法多种多样,下面是一些常见的策略:

1、删除含有缺失值的记录或列:

如果数据集中缺失值的比例较小,或者缺失值的分布较为随机,直接删除含有缺失值的行或列是一种简单直接的方法。然而,这会导致数据集的大小减少,可能影响到后续分析结果的完整性和准确性。

2、填充缺失值:

使用统计值填充:如均值、中位数或众数来替代缺失值。这种方法适用于缺失值占比较小的情况,能够保持数据集的基本分布特征。

插值方法:利用已有的数据点估计缺失值。插值方法包括线性插值、多项式插值和样条插值等,适用于数据点之间存在较为连续的关系。或者从从已有的数据中提取。如人的性别、出生日期、年龄可从身份证号码中提取填充。

四、错误值处理

数据中可能存在错误的数值或不合理的数值,需要进行检查和修正,确保数据的准确性。错误值可能是由于数据录入错误、传感器故障、数据转换错误等原因产生的。处理错误值的方法取决于错误值的性质和上下文。以下是一些常见的错误值处理方法:

验证和修正:

首先,需要验证错误值的来源和原因。这可能需要与数据源提供者或数据录入人员沟通。一旦确定错误的原因,可以手动修正这些错误值,或者使用自动化工具和算法进行修正。

使用默认值或替代值:

如果某些错误值无法修正或验证,可以考虑使用默认值或替代值进行填充。

删除错误值:

如果错误值的数量较少,或者删除这些错误值不会对后续的分析和建模造成严重影响,可以考虑直接删除这些错误值。

然而,需要注意的是,删除错误值可能会导致数据集的偏差,因此应谨慎使用这种方法。

五、 数据格式统一

统一数据的格式,比如将所有文本转换为小写或大写格式,去除空格或特殊符号,全脚转半角等。

以下是一些常见的数据格式统一方法和应用场景:

日期格式统一:

数据集中可能存在多种日期格式,如“YYYY-MM-DD”、“DD/MM/YYYY”等。为了确保日期的正确解析和比较,需要将所有日期数据转换为统一的格式(YYYYMMDD)。

时间格式统一:

时间数据可能存在多种格式,如“小时:分钟:秒”、“小时/分钟/秒”等。为了确保时间的正确解析和比较,需要将所有时间数据转换为统一的时间格式(YYYY-MM-DD HH:MI:SS)。

数字格式统一:

在数据集中,数字可能以文本形式存在,或者存在不同的数字格式(如逗号分隔的千位分隔符、科学计数法等)。为了确保数字的正确计算和比较,需要将数字数据转换为统一的格式,通常是去掉千位分隔符、将科学计数法转换为普通数字等。

文本格式统一:

文本数据可能存在大小写不一致、特殊字符、标点符号不统一等问题。为了确保文本数据的一致性和可比性,可以进行大小写转换、全半角转换、特殊字符去除、标点符号统一、去除空白字符等处理。

判断型数据统一:

判断型数据如“是/否”、“T/F”、“0/1”等。为了方便后续的分析,可以将这种类型数据转换为数值编码(否:0/是:1)。

分类数据统一:

分类数据(如性别、职业等)通常以文本形式存在,如“男”、“女”、“工程师”等。为了方便后续的分析和建模,可以将这些文本分类数据转换为数值编码,如将“男”编码为1,“女”编码为2。

标签:通用,删除,错误,空值,规则,格式,清洗,数据,缺失
From: https://www.cnblogs.com/suheng01/p/18055816

相关文章

  • SPSS modeler关联规则、卡方模型探索北京平谷大桃产业发展与电商化研究
    原文链接:https://tecdat.cn/?p=35275原文出处:拓端数据部落公众号平谷区的大桃产业经历了30多年的发展历程,成为了中国著名的大桃之乡,世界最大的桃园。以大桃产业为主的果品产业已成为全国农业产业结构调整的特色代表,是名副其实的富民产业、生态产业,对农民就业、农村稳定和社会主......
  • 在Windows操作系统上进行端口映射通常需要使用网络地址转换(NAT)规则或端口转发来实现。
    端口映射通常与目的网络地址转换(DNAT)概念相关联。在网络中,DNAT是一种技术,用于将传入的数据包的目的IP地址和/或端口号修改为内部网络中另一台计算机的IP地址和端口号。这样可以实现将外部流量导向内部特定计算机或服务的功能。因此,端口映射通常涉及DNAT技术,用于在网络中重......
  • shell-应用日志清理脚本(通用)
    应用日志清理脚本(通用)#!/bin/bash#================================================================#HEADER#================================================================#Filenameclear-logs.sh#Revision0.0.3#Date......
  • 神舟通用数据库安装(交互方式)
    环境:OS:Centos7DB:V71.介质下载地址http://www.shentongdata.com/old_bak/iso/wzsyx/ShenTong7.0_linux64.rar 2.安装rar[root@localhostsoft]#tar-xvfrarlinux-x64-5.3.0.tar.gz[root@localhostsoft]#cdrar[root@localhostrar]#makeinstall3.解压数据库安装包[r......
  • [系统] 开源通用系统框架(Java)
    0序1代码级通用框架1.0后端:Servlet+Structs+JDBC1.1后端:SpringMVC+Spring+MyBatis/SpringJPA1.2后端:SpringBootspringboothttps://spring.io/projects/spring-boot/https://spring.io/quickstarthttps://start.spring.io/https://github.com/spring......
  • linux安装南大通用数据库 GBase 8s V8
    @目录1、操作系统、数据库2、下载链接3、安装文档4、安装前准备4.1、以root用户创建gbasedbt组和用户4.2、创建GBase8s数据库安装目录4.3、上传并解压安装包5、安装5.1、执行安装程序5.2、回车继续直到接受许可条款5.3、输入安装目录绝对路径5.4、选择安装类型5.5、选择安装......
  • linux 安装神州通用数据库 V7
    @目录操作系统、数据库1、官方下载链接2、windows客户端下载链接3、官方安装手册4、安装前准备3.1、创建安装用户3.2、以root用户修改神通数据库安装包的所有者为shentong用户3.3、以root用户创建神通数据库主目录并修改所有者为shentong用户3.4、以root用户临时修改init.d......
  • 给大家推荐一款基于Vue3通用型后台管理模板
    ​ 给大家推荐一款基于Vue3通用型后台管理模板这款Vue3后台管理模板介绍如下:        使用Vue3、Vite、ElementPlus、Pinia最新开发技术栈,拥有完整的Token登录鉴权、路由配置、界面简洁美观,可根据需要灵活配置主题、系统采用响应式布局,自适应各类屏幕尺寸、源代码有......
  • 精简实现、线程安全:C#通用单例泛型基类助你轻松创建单例模式
     概述:该通用单例泛型基类使用C#实现,线程安全,通过泛型参数和Lazy<T>实现简化的单例模式。优点包括线程安全、泛型通用性、简化实现、以及延迟加载的特性。优点:线程安全: 使用Lazy<T>确保了线程安全的延迟初始化,避免了在多线程环境下可能导致的竞态条件问题。泛型通用性: 通......
  • c++多线程按行读取同一个每行长度不规则文件
    对于非常大的比如上百G的大文件读取,单线程读是非常非常慢的,需要考虑用多线程读,多个线程读同一个文件时不用加锁的,每个线程打开一个独立的文件句柄多线程读同一个文件实现思路思路1先打开一个文件句柄,获取整个文件大小file_size确定要采用线程读取的部分大小read_size和......