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

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

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



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

相关文章
|
4月前
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
286 2
|
5月前
|
SQL 运维 监控
SLS 数据加工全面升级,集成 SPL 语法
在系统开发、运维过程中,日志是最重要的信息之一,其最大的优点是简单直接。SLS 数据加工功能旨在解决非结构化的日志数据处理,当前全面升级,集成 SPL 语言、更强的数据处理性能、更优的使用成本。
18211 142
|
4月前
|
监控 数据安全/隐私保护 异构计算
借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
【8月更文挑战第8天】借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
107 1
|
4月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
227 1
|
4月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
100 1
|
4月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
55 0
|
4月前
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
348 0
|
4月前
|
数据采集 SQL DataWorks
【颠覆想象的数据巨匠】DataWorks——远超Excel的全能数据集成与管理平台:一场电商数据蜕变之旅的大揭秘!
【8月更文挑战第7天】随着大数据技术的发展,企业对数据处理的需求日益增长。DataWorks作为阿里云提供的数据集成与管理平台,为企业提供从数据采集、清洗、加工到应用的一站式解决方案。不同于桌面级工具如Excel,DataWorks具备强大的数据处理能力和丰富的功能集,支持大规模数据处理任务。本文通过电商平台案例,展示了如何使用DataWorks构建数据处理流程,包括多源数据接入、SQL任务实现数据采集、数据清洗加工以提高质量,以及利用分析工具挖掘数据价值的过程。这不仅凸显了DataWorks在大数据处理中的核心功能与优势,还展示了其相较于传统工具的高扩展性和灵活性。
152 0
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用

热门文章

最新文章

相关实验场景

更多