数仓中数据清洗的方法

在数据采集的过程中,需要从不同渠道获取数据并汇集在数仓中,采集的原始数据首先需要进行解析,然后对不准确、不完整、不合理、格式、字符等不规范数据进行过滤清洗,清洗过的数据才能更加符合需求,从而使后续的数据分析应用更为准确。因此在数据分析、挖掘、可视化实现以及统计报表之前,做好相关的数据清洗工作意义重大。

一、数据清洗概述

数据清洗是指对数据进行重新审查和校验的过程中,发现并纠正数据文件中可识别的错误,按照一定的规则把错误或冲突的数据洗掉,包括检查数据一致性,处理无效值和缺失值等,数据清理一般是由计算机而不是人工完成。

图片

二、数据清洗原理

利用数理统计、数据挖掘和预定义清理规则等有关技术将“脏数据”处理掉,从数据源中检测并消除错误、不一致、不完整和重复等数据,为满足要求提供高质量的数据。数据清理的标准模型是将数据输入到数据清理处理器,通过一系列步骤清理数据,然后以期望的格式输出清理过的数据。

图片

三、数据清洗的方法

数据清洗的方法包括:

  1. 处理缺失值;

  2. 删除重复项;

  3. 处理离群值;

  4. 格式和类型转换;

  5. 数据归一化;

  6. 数据集成;

  7. 数据转换;

  8. 数据简化。

以下分别对这8类方法进行介绍。

1. 处理缺失值

处理缺失值:指的是在数据分析过程中处理缺失值(即数据集中缺少的数据)的方法。常通过以下几种方式完成(选择哪种方法取决于缺少的数据量和手头的具体问题),包括:

删除:删除行/列中缺失的值

归纳:用统计数据(均值,中位数,模态)或预测(回归,kNN)填充缺失值

插值:根据其他样本的值估计缺失值

外推:根据趋势预测缺失值

匿名化:掩盖或扰乱缺失的值以保持隐私。

2.删除重复项

删除重复项:指的是识别并消除数据集中重复或冗余的条目。这是数据清理和预处理中的一个重要步骤,可以确保对唯一且准确的数据执行分析。重复可能是由于人为错误、数据输入错误或数据源中的不一致造成的。有几种方法可以删除重复项(方法的选择将取决于数据的具体要求和正在执行的分析),包括:

删除:删除所有重复的行

保留首行:保留重复行的首行数据,并删除其余的行

保留末行:保留重复行的末尾数据,并删除其余的行

自定义:定义一个自定义方法来确定要保留或删除哪些副本。

3.处理异常值

处理异常值:是指识别和处理数据集中与其余数据显著不同的极端值的过程。异常值可能会对数据分析的结果产生重大影响,如果处理不当,可能会使结果发生偏差。处理异常值有几种方法,包括:

移除:移除离群数据点

修剪:只保留指定百分比的数据,丢弃极端值

替换:用更接近其他数据点的指定值替换极端值

归纳:将异常值替换为统计值,例如平均值或中位数

转换:转换数据以减少异常值的影响,例如log-transformation。

方法的选择将取决于数据的具体要求和正在执行的分析。重要的是要考虑异常值对结果的潜在影响,并仔细选择适当的方法来处理它们。

4.格式和类型转换

格式和类型转换:是指将一种数据格式转换为另一种格式或数据类型的过程。例如,将字符串转换为数字,或将数字格式化为特定的字符串形式。

5.数据归一化

数据归一化:是指将数据标准化为具有相同量纲和相对大小关系的数据集。这有助于防止特定数据特征在模型中具有过多影响力,并且提高了模型的稳健性和准确性。常见的数据标准化方法包括Min-Max,Z-Score等。

6.数据集成

数据集成:是指将来自多个来源的数据组合到单个统一视图中的过程。目标是协调数据源之间的差异,消除冗余信息,并提供一致、准确的数据表示。这使组织能够更全面地了解他们的数据,并更好地将其用于决策和分析。

7.数据转换

数据转换:是指将数据从一种格式或结构转换为另一种格式或结构,以使其更适合分析或满足特定要求的过程。此过程涉及到将数据从源格式映射到目标格式,并且通常涉及到操作聚合或在该过程中过滤数据。数据转换的目标是确保数据的一致性、准确性和可用性,并且可以轻松地与其他数据源集成。

8.数据简化

数据简化:是指对数据进行简化或汇总,以减少数据的大小或复杂性,使其更易于管理、分析和可视化的过程。数据缩减的目标是保留最重要和最相关的信息,同时消除冗余或不相关的数据。这可以通过数据压缩、聚合或降维等技术来实现。通过减少数据的大小,组织可以缩短处理时间,使其更容易处理大型数据集。

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

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

相关文章

力扣每日一题-统计和小于目标的下标对数目-2023.11.24

力扣每日一题:统计和小于目标的下标对数目 开篇 今天这道力扣打卡题写得我好狼狈,一开始思路有点问题,后面就是对自己的代码到处缝缝补补,最后蒙混过关。只能分享一下大佬的代码,然后我帮大家分享代码的思路。 题目链…

P12 C++静态关键字static

目录 01 前言 02 静态变量static 03 extern关键字 04 静态函数 最后的话 01 前言 static 关键字在 C 中有两个意思,这个取决于上下文。 第一种情况是在类或结构体外部使用 static 关键字,另一种是在类或者结构体内部使用 static。 类外面的 static…

【数据库】物理操作的一趟扫描算法机制原理,理解关系代数据与物理计划的关系,以及代价评估的应用和算法优化

一趟扫描算法 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新…

红外遥控实验

本章,我们将介绍 STM32F103 对红外遥控器的信号解码。STM32 板子上标配的红外接收 头和一个小巧的红外遥控器。我们将利用 STM32 的输入捕获功能,解码开发板标配的红外遥控 器的编码信号,并将编码后的键值在 LCD 模块中显示出来。 红外遥控技…

BTC 复兴:Ordinals 带来创新活力,BitVM 与 BitStream 相继问世

除了备受瞩目的 ETF,今年 Bitcoin 生态迎来全新的发展活力和机遇。Ordinals 协议的横空出世,以此为基础诞生的 BRC20 协议给整个比特币生态带去了一波新的能量,迎来铭文热度高涨。而诸如 BitVM、BitStream 等新技术甫一问世,便引发…

MT6893_天玑 1200芯片规格参数介绍_datasheet规格书

天玑 1200(MT6893)是一款专为旗舰级全新5G芯片,它融合了先进的AI、相机和多媒体技术,为用户带来令人惊叹的体验。采用先进的6纳米制程设计,内置各种先进技术。该芯片采用旗舰级的八核CPU架构设计,支持16GB强大的四通道内存以及双通…

重庆数字孪生技术推进制造业升级,工业物联网可视化应用加速

重庆数字孪生、5G、人工智能、物联网、大数据等新一代信息技术的出现及终端计算设备的发展,带来了研发模式、生产模式、消费模式、体制机制的系统性变革,企业应该建设适应工业4.0时代发展要求的新型生产体系。巨蟹数科数字孪生智能工厂通过部署多样化用例…

初出茅庐的小李博客之C语言必备知识共用体

C语言必备知识共用体 共用体是一种构造数据类型,有时候也称之为联合体。 它的用途: 使几个不同类型的变量共占一段内存。 共用体举例 union 共用体名 { 类型标识符 成员名;类型标识符 成员名; };union data //共用体名字是data{ int i; …

leetcode刷题:17.电话号码的字母组合

leetcode原题网页 题目描述:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 思路:使用vector&#x…

Guitar Pro软件8.0官方最新版本下载

Guitar Pro 8是一款由法国Arobas Music公司开发的吉他学习与MIDI音序制作辅助软件,它具有丰富的功能,包括吉他谱、六线谱、四线谱绘制、打印、查看、试听等方面,能够帮助音乐爱好者更方便地进行音乐学习和创作。Guitar Pro 8拥有独特的gtp格式…

遥遥领先!TinyEngine 低代码引擎更新升级!AI 已成功部署!

官网更新 1. 协议规范优化更新 协议规范交互优化,能够在一页里面自由切换,提高用户体验,后端SDK文档字段描述补齐,助力开发者自助进行服务端开发。 2.使用手册全新改版 去掉之前的学院课程,新设计新分类让结构一目了…

【cf 158 c】

给你一个整数数组 a1,a2,…,an ( )。在一次操作中,你可以选择一个整数 x ( ),并用 ⌊⌋ 替换 ai ( ⌊y⌋ 表示将 y 舍入为最接近的整数)。 来替换从 1 到 n 的所有 i。请注意,每次操作都会影响数组中的所有元素。打印使数组中所有元素相等所…