主数据清洗的一般过程

在对主数据进行清洗之前,要先对主数据进行预处理。主数据预处理一般分为两个步骤,

  • 将数据导入处理工具,比如数据库;
  • 分析属性数据元

包括字段解释、数据来源、代码表等一切描述数据的信息,抽取一部分主数据作为样本数据,通过人工查看,先对主数据有直观的了解,为之后的清洗做准备。

下面进入主数据清洗的核心内容,包括缺失值清洗、格式内容清洗、逻辑错误清洗、非需求数据清洗、关联性验证、干净数据回流。

1. 缺失值清洗

缺失值是最常见的数据问题,处理缺失值可以按照以下4个步骤进行。

  • 确定缺失值范围

计算每个字段的缺失值比例,然后按照缺失值比例和字段的重要性,分别制定策略。

  • 去除不需要的字段

不需要的字段直接删掉即可,但建议每进行一个动作都备份一下数据,或者在小规模数据中试验成功后再处理全部数据,避免删错了数据,导致数据无法恢复。

  • 填充缺失值

对缺失值进行填充,方法有以下3种。

①以业务知识或经验推测填充缺失值;

②以同一指标的计算结果(均值、中位数、众数等)填充缺失值;

③以不同指标的计算结果填充缺失值。

  • 重新取数

如果某些指标非常重要但缺失率又高,就需要向业务人员了解,以重新获取相关数据。

2. 格式内容清洗

有些数据是由人工收集或用户填写而来的,很有可能在格式和内容上存在一些问题,一般来说,格式内容存在的问题主要有以下几类。

(1)时间、日期、数值、全半角等显示格式不一致。

这种问题通常与输入端有关,在整合多种数据源中的数据时也有可能会遇到,将其处理成统一的某种格式即可。

(2)数据中有不该存在的字符。

某些数据中可能有不该存在的字符。最典型的就是数据的头、尾、中间出现空格,也可能出现姓名中存在数字、身份证号中出现汉字等问题。在这种情况下,需要以半自动校验、半人工的方式来找出可能存在的问题,并去除不需要的字符。

(3)内容与该字段应有内容不符。

将姓名写成了性别、身份证号写成了手机号等,均属于这种问题。 但该问题的特殊性在于:并不能简单地通过删除来处理,因为成因有可能是人工填写错误,也有可能是前端没有校验,还有可能是导入数据时部分或全部存在列没有对齐,因此要详细识别问题类型。

格式内容问题是比较细节的问题,但很多分析结果错误都是由此问题引起的,比如跨表关联失败、统计值不全、模型输出失败。因此,务必要注意这部分与主数据的清洗工作。

3. 逻辑错误清洗

逻辑错误清洗是修正逻辑推理有问题的数据,防止由于数据错误而导致分析结果错误。逻辑错误清洗主要包含以下几种情况。

(1)去重。

要去除数据表中的重复数据。比如物料代码中经常存在一物多码的情况,因此在这一步就要标记出重复的数据,以便建立映射关系,以进行数据去重的工作。

(2)修正不合理值。

要修正数据中的不合理值。比如有人在填表时随意填写,不注重检查,将年龄填成580岁,这时就要将数据修正准确,如果不能修正,则要么删掉,要么按缺失值处理。

(3)修正矛盾内容。

有些数据内容是可以互相验证的。比如:身份证号是1329321990××××××××,年龄是18岁,在这种时候,需要根据字段的数据来源,判定哪个字段提供的信息更为可靠,去除或重构不可靠的字段。

4. 非需求数据清洗

非需求数据清洗就是把不要的字段删除。在实际操作中,要具体问题具体分析,在非需求数据清洗中,经常会遇到一些问题。例如,把看上去不需要但实际上对业务很重要的字段删了;某个字段觉得有用,但又没想好怎么用,不知道是否该删;操作失误,删错字段了。对于前两种情况,如果数据量没有大到不删字段就没办法处理的程度,那么能不删的字段就尽量不删,对于第3种情况,就需要建立数据备份机制,保证数据能恢复。

5. 关联性验证

如果数据有多个来源,则有必要进行关联性验证。关联数据变动在数据库模型中就应该涉及。多个来源的数据整合清洗是非常复杂的工作,一定要注意数据之间的关联性,不要因为数据之间互相矛盾而造成下游系统无法使用的情况。

6. 干净数据回流

当主数据被清洗后,应该将干净的主数据替换数据源中原来错误的主数据。这样不仅可以提高原系统的数据质量,还可避免将来再次抽取主数据时进行重复的清洗工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/633785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【备战蓝桥杯】图论重点 敲黑板啦!

蓝桥杯备赛 | 洛谷做题打卡day11 文章目录 蓝桥杯备赛 | 洛谷做题打卡day11杂务题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题解代码我的一些话 杂务 题目描述 John 的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。比如&a…

c#让三个线程按照顺序执行

现实的例子 三个线程都是while(true)的循环体 A线程:采集数据 B线程:画曲线 C线程:存数据库 AutoResetEvent类 AutoResetEvent 是一个线程同步的类,它提供了一种机制,允许一个或多个线程等待直…

Unity之四元数

欧拉角 万向节死锁 四元数是什么 Unity中四元数的初始化 四元数和欧拉角的互相转换 补充 四元数相乘代表旋转四元数

vue3中的nexttick

在 Vue 3 中,nextTick 是一个用于延迟执行代码的方法,直到下一次 DOM 更新循环结束。这个方法在 Vue 的生命周期钩子函数和其他需要等待 DOM 更新后再执行某些操作的情况下非常有用。 例如,如果在父子组件中,父组件向子组件传递参…

ABAP - 变量杂例1

** 常用的预定义数据类型 ** ** 类型缩写 类型 默认长度 最大长度 初始值 描述 ** C 字符 1 space 字符串,‘Program’ ** D 日期 8 8 00000000 ** F 浮…

vue3使用自定义组件内方法

重点 使用 defineExpose 来导出方法 // child <script setup> import { ref, Ref } from vueconst prop: Ref<string> ref(child)const method (val: string) > {console.log(val) }defineExpose({prop,method, }) </script>// father <template&g…

Linux Shell脚本入门

目录 介绍 编写格式与执行方式 Shell脚本文件编写规范 脚本文件后缀名规范 首行格式规范 注释格式 shell脚本HelloWord入门案例 需求 效果 实现步骤 脚本文件的常用执行三种方式 介绍 3种方式的区别 小结 多命令处理 Shell变量 环境变量 目标 Shell变量的介绍 变量类型 系统环境…

手把手带你死磕ORBSLAM3源代码(四十九) FrameDrawer.cc DrawFrame

目录 一.前言 二.代码 2.1完整代码 一.前言 这段代码的主要部分。 变量声明: 使用OpenCV库(表示为cv::)声明了多个变量,包括图像(im)、关键点(vIniKeys, vCurrentKeys等)、匹配(vMatches)、跟踪点(vTracks)等。state 表示跟踪的状态。Frame、MapPoint 可能是自…

计算机毕业设计 基于SpringBoot的红色革命文物征集管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

学习JavaEE的日子 day12 构造方法 类的制作

Day12 需求&#xff1a;创建人类的对象&#xff0c;并操作对象 分析&#xff1a; 人类 - Person 属性&#xff1a;name、sex、age 方法&#xff1a;eat、sleep 场景&#xff1a;创建多个对象&#xff0c;去操作对象 //测试类&#xff1a;该类中有main方法&#xff0c;测试我们写…

F - Digital Roots HUOJ

题目 The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summed and the pro…

让你的Pandas代码快得离谱的两个技巧

如果你曾经使用过Pandas处理表格数据&#xff0c;你可能会熟悉导入数据、清洗和转换的过程&#xff0c;然后将其用作模型的输入。然而&#xff0c;当你需要扩展和将代码投入生产时&#xff0c;你的Pandas管道很可能开始崩溃并运行缓慢。在这篇文章中&#xff0c;笔者将分享2个技…

项目管理十大知识领域之项目质量管理

一、项目质量管理概述 项目质量管理是指通过计划、组织、控制和监督项目过程&#xff0c;以确保项目满足特定的质量要求的一系列活动。项目质量管理是整个项目管理体系中不可或缺的一部分&#xff0c;它涉及到对项目所涉及的产品或服务的质量进行规划、控制和保证的过程。在项…

【面试】测试/测开(ING3)

190. 栈和堆在内存管理上的区别 栈 1&#xff09; 栈是由系统自动分配和回收的内存。 2&#xff09;栈的存储地址是由高地址向低地址扩展的。 3&#xff09;栈是一个先进后出的结构。 4&#xff09;栈的空间大小是一个在编译时确定常数&#xff0c;即栈的大小是有限制的&#x…

Kubernetes的minikube

文章目录 环境概述准备安装启动和集群交互dashboard创建deployment创建service启用addon清理参考 环境 RHEL 9.3Docker Community 24.0.7miniKube v1.32.0 概述 minikube可以快速的在macOS、Linux和Windows上搭建本地的Kubernetes集群&#xff0c;帮助Kubernetes小白快速上手…

DBeaver连接Teradata数据库中文乱码问题

如下配置url即可&#xff1a; jdbc:teradata://{ip}/CLIENT_CHARSETGBK,TMODETERA,CHARSETASCII

鲁大师2023年牛角尖颁奖盛典揭晓,年度最强产品诞生

1月18日&#xff0c;鲁大师2023年度牛角尖颁奖典礼在四川省内江市威远县船石湖豪生温泉度假酒店完美落幕。 本届鲁大师牛角尖颁奖盛典举办地选在了威远县可谓是深有其意&#xff0c;其名称的由来最早可追溯到隋朝&#xff0c;取“威名远震”之意。而这也与鲁大师牛角尖奖项的设…

用通俗易懂的方式讲解:使用Llama-2、PgVector和LlamaIndex,构建大模型 RAG 全流程

近年来&#xff0c;大型语言模型&#xff08;LLM&#xff09;取得了显著的进步&#xff0c;然而大模型缺点之一是幻觉问题&#xff0c;即“一本正经的胡说八道”。其中RAG&#xff08;Retrieval Augmented Generation&#xff0c;检索增强生成&#xff09;是解决幻觉比较有效的…

自建呼叫中心还是使用云呼叫中心?

随着云呼叫技术的逐渐普及&#xff0c;云呼叫中心在全国的推广&#xff0c;越来越多中小企业开始使用云呼叫中心开展企业外呼及电话客服业务。但还是有很多企业坚持使用传统的自建呼叫中心。那么云呼叫中心跟自建呼叫中心有什么区别呢&#xff1f;企业又该作何选择&#xff1f;…

百德朗王晓明:用差异化创新,解决智能楼控项目深层痛点

近年来&#xff0c;国家对物联网产业的支持政策不断释放&#xff0c;《“十四五”数字经济发展规划》明确提出了要加速空间信息基础设施升级。作为AIoT控制系统核心技术引领者是如何看待物联网时代下的智慧楼宇与能源应用发展的呢&#xff1f;近日&#xff0c;百德朗联合创始人…