①数据预处理之数据清理,数据集成,数据规约,数据变化和离散化

简介: 数据预处理之数据清理,数据集成,数据规约,数据变化和离散化

本来这些储备知识,我想在后续的实际算法案例中进行解释,但是考虑到很多的小伙伴在学习的过程中都是逐步推进的,需要一定的时间去理解和应用,所以前期我们需要把所有的东西都准备好,这样就可以保证后续的算法实践游刃有余。



image.png


数据清理

我们一般看到的数据都是较为干净的数据,也就是结构化的数据,但是有时候在日志信息中,需要我们去提取出结构化的数据进行处理,这个时候就需要用到数据清理了。

数据清理用到的工具

1、Python


Python作为目前火热的编程语言,它的优势在于不需要编写大量的程序代码就可以实现我们所需的功能,而且在数据处理方面,Python的第三方库Pandas和Numpy有着不可描述的便捷性。

image.png



这也是我在概述篇里面介绍的需要准备的知识,同时在博主的文章里面也有比较详细的数据处理的文章,点击即可查看和学习。



2、Kettle


kettle作为ETL工具,可能很多人比较的陌生,这个工具在数据预处理方面有着比较好的优势,具有可重复性和简单性,由于它是一个图形界面的开发工具,不需要编程知识就可以完成,只需要明白每一步的过程和相应的按钮含义。


image.png


数据清理主要包括缺失值与异常值的清理


针对缺失值,可以采用简单的删除,但如果缺失值的比例达到一定阈值,就需要读者去判断是否在采集过程中出现了问题,不可以进行简单的删除操作了,因为一旦删除了数据,数据所代表的信息就无法找回了。


也可以将缺失值添加成默认值,或是采用拉格朗日插值法对缺失值进行填充等方式。


在Pandas里面有很多种对缺失值的处理办法,还可以使用左右填充的方法以及上下填充,也可以按照某一列的统计量进行填充,还可以填充特定规则的数据,下面给出具体的代码实现


检测出空值


# 检测出有空值的行数据
df[df.isnull().T.any()]

image.png

image.png



直接删除


df.dropna()
# 删除包含空值的所有行
df.dropna(axis=1)
# 删除包含空值的所有列
# 删除一行全部是空值的数据行
df.dropna(how="all")
df.dropna(how="all",axis=1)
# 删除列数据里面全部是空值的列

填充处理


# 通过给定的数据填充,一般是0
df.fillna(0)
指定我们的数据列,进行填充
df[["成绩"]].fillna(100)
# 指定数据列按照平均值进行填充
df[["成绩"]].fillna(round(df["成绩"].mean(),2))
# 这里的平均值可以替换成最大值max,最小值min,以及各种的统计函数

前后左右值填充


# 使用前后左右的值来填充
# 上面的值 forwardfill 列上前一个值
df[['成绩']].fillna(method="ffill")
# 下面的值 backfill 列上后一个值
df.fillna(method="bfill")
# 左边的值 forwardfill 行上前一个值
df.fillna(method="ffill", axis=1)
# 右边的值 backfill 行上后一个值 
df.fillna(method="bfill", axis=1)
# 如果超过边界无法取值

这里需要注意一下,有些时候由于边界的原因,无法填充,那么可以先使用某一个填充然后再去使用另外一个填充模式,这样全方位的填充,效果比较的好!


数据集成

主要是指将多种数据源汇集到一起,放入一个数据仓库的过程。在数据集成的过程中会出现实体识别(Entity Resolution),冗余属性识别,数据值冲突等问题。


在将多种数据源集成时,实体识别是很常见的事情,实体识别可描述成:在一个或多个数据源中的不同记录是否描述为同一个实体, 同一实体在数据集成过程中可被用于数据去重和连接键等集成操作中。


用一个数据库中的实例就是,如果 A 表中有一个字段为 stu_id, B 表中有一个字段为 stu_num,那么这两个字段是否都为同一个实体的属性呢?


如果是同一个属性,那么在集成时,这个这段可以作为多表关联的条件,生成新表时保留两者中的一个值就可以。


冗余属性识别是指是否某些属性之间存在相关性,或者一个属性可以由其它的属性推导得出。数据值冲突指的是不同数据源中针对同一个实体的属性值不同,这可能是单位不一致导致的。


数据集成就是在多种数据源的集成过程中,解决掉上述的几个问题,形成一个大的不冗余的数值清楚的数据表。

说到数据集成,一般用于大量的数据维度的例子,比如某电商的售卖系统所产生的数据,这里就需要考虑到数据里面的范式了,在我的《数据库技术原理应用-计算机三级》可以看到具体的解释,点击蓝色字体即可跳转。



image.png

image.png

相关文章
|
3天前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
9 0
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
|
13天前
|
easyexcel Java API
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
SpringBoot集成EasyExcel 3.x:高效实现Excel数据的优雅导入与导出
41 1
|
22天前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之数据源同步时,使用脚本模式采集mysql数据到odps中,使用querySql方式采集数据,在脚本中删除了Reader中的column,但是datax还是报错OriginalConfPretreatmentUtil - 您的配置有误。如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
22天前
|
SQL DataWorks 安全
DataWorks产品使用合集之在进行测试数据集成时,目标库的数据是源库数据的3倍量,是什么导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之在进行测试数据集成时,目标库的数据是源库数据的3倍量,是什么导致的
|
2天前
|
分布式计算 DataWorks Oracle
DataWorks产品使用合集之从集成那批量建作业同步数据的,如何批量修改
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
6 0
|
4天前
|
分布式计算 DataWorks 调度
DataWorks操作报错合集之DataX访问MaxCompute(原ODPS)突然无法读取到字段数据,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4天前
|
SQL 数据采集 DataWorks
DataWorks操作报错合集之数据集成里面的数据调度独享资源组测试通过了,但是数据地图里无法通过,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
8天前
|
SQL API 调度
Springboot2.4.5集成Quartz实现动态任务数据持久化-不怕重启服务
Springboot2.4.5集成Quartz实现动态任务数据持久化-不怕重启服务
13 0
|
2月前
|
Java 数据处理 调度
Dataphin常见问题之离线管道同步数据datax就报连接超时如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
28天前
|
数据采集 供应链 搜索推荐
数据集成:融合不同来源的数据
【6月更文挑战第4天】数据集成在企业中发挥关键作用,连接数据孤岛,促进信息流动,提升决策能力。通过抽取、清洗、转换和加载(ETL)不同来源、格式的数据,整合到统一框架,进行深度分析。以零售商为例,集成销售、客户和供应链数据可优化库存管理。数据清洗确保质量,转换满足分析需求,最终加载到数据仓库。Python和pandas库是实现这一过程的工具之一。随着技术进步,数据集成将推动企业向智能化和个性化发展。
46 2

热门文章

最新文章