数据清洗、数据集成

数据清洗、数据集成

整个数据分析过程中,数据清洗大概占到了80%。
数据质量准则:
  1. 完整性:单条数据是否存在空值,统计的字段是否完善。
  2. 全面性:观察某一列全部数据值可通过常识判断该列在数据定义、单位标识、数字本身方面是否有问题。
  3. 合法性:数据的类型、内容、大小的合法性。
  4. 唯一性:数据是否存在重复。
对于缺失值的处理通常采用三种方法:
  • 删除:删除数据缺失的记录

  • 均值:使用当前列的均值

    df['Age'].fillna(df['Age'].mean(), inplace=True)
    
  • 高频:使用当前列出现频率最高的数据。

    age_maxf = train_features['Age'].value_counts().index[0]
    train_features['Age'].fillna(age_maxf, inplace=True)
    
空行的处理:
df.dropna(how='all',inplace=True) 
列数据单位不统一:
# 获取 weight 数据列中单位为 lbs 的数据
rows_with_lbs = df['weight'].str.contains('lbs').fillna(False)
print df[rows_with_lbs]
# 将 lbs转换为 kgs, 2.2lbs=1kgs
for i,lbs_row in df[rows_with_lbs].iterrows():
	# 截取从头开始到倒数第三个字符之前,即去掉lbs。
	weight = int(float(lbs_row['weight'][:-3])/2.2)
	df.at[i,'weight'] = '{}kgs'.format(weight) 
非ASCII字符:
# 删除非 ASCII 字符
df['first_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
df['last_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
一列有多个参数:
# 切分名字,删除源数据列
df[['first_name','last_name']] = df['name'].str.split(expand=True)
df.drop('name', axis=1, inplace=True)
重复数据:
# 删除重复数据行
df.drop_duplicates(['first_name','last_name'],inplace=True)
例:
import pandas as pd
df = pd.read_csv('D://Jupyter/food.csv')
df

在这里插入图片描述

#将ounces列中的缺失值从均值来填充
df['ounces'].fillna(df['ounces'].mean(), inplace=True)
#将food列中同一转换成小写
df['food'] = df['food'].str.lower()
#将ounce列中的负数取正
df['ounces'] = df['ounces'].apply(lambda x: abs(x))
#删除food列中重复的项
df.drop_duplicates('food', inplace=True)
df

在这里插入图片描述

数据集成就是将多个数据源合并存放在一个数据存储中(如数据仓库),方便后续的数据挖掘。
数据集成的两种架构:ELT和ETL

ETL是英文Extract、Transform和Load的缩写,包括了数据抽取、转换、加载三个过程。

  • 抽取是将数据从已有的数据源中提取出来。
  • 转换是对原始数据进行处理
  • 加载就是将转换后的数据从中间层导入数据分析层。

根据转换发生的顺序和位置,数据集成可以分为 ETL 和 ELT 两种架构。

  • ETL:提取(Extract)——转换(Transform)——加载(Load),数据源抽取后首先进行转换,然后将转换的结果写入目的地。
  • ELT:提取(Extract)——加载(Load)——变换(Transform),在抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部计算框架,如Spark来完成转换的步骤。

ELT和ETL相比最大区别是重抽取和加载,轻转换。从而可以用更轻量的方案搭建一个数据集成平台。使用ELT方法,在提取完成之后,数据加载会立即开始。一方面更省时,另一方面ELT允许 BI 分析人员无限制地访问整个原始数据,为分析师提供了更大的灵活性,使之能更好地支持业务。

在ELT架构中,数据变换这个过程根据后续使用的情况,需要在 SQL 中进行,而不是在加载阶段进行。这样做的好处是你可以从数据源中提取数据,经过少量预处理后进行加载。这样的架构更简单,使分析人员更好地了解原始数据的变换过程。

典型ETL工具:
  • 商业软件:Informatica PowerCenter、IBM InfoSphere DataStage、Oracle Data Integrator、Microsoft SQL Server Integration Services等
  • 源软件:Kettle、Talend、Apatar、Scriptella、DataX、Sqoop等

在这里插入图片描述
在这里插入图片描述

### 回答1: 数据迁移是将数据从一个系统或平台迁移到另一个系统或平台的过程。它通常涉及将数据从旧的数据库、文件或应用程序中提取出来,经过清洗和转换后,再加载到新的目标环境中。数据迁移的目的是为了实现数据的平滑过渡和连续性,确保数据在迁移过程中的完整性和一致性。 数据清洗是对数据进行预处理和修复的过程。它包括识别和纠正数据中的错误、缺失、不一致和冗余,以保证数据的质量和准确性。数据清洗也可以涉及数据格式的转换和规范化,使数据符合特定的要求或标准。 数据集是将来自不同数据源的数据合并一个统一的视图或数据集的过程。它通常用于整合来自不同系统、部门或组织的数据,以便于进行综合分析和决策。数据集可以通过数据转换、合并和关联等技术来实现,以确保不同数据源的数据能够互相补充和交互。 Axure是一种用于设计和原型制作的工具。它提供了丰富的交互设计和原型制作功能,可以帮助设计师和开发人员快速创建交互式页面、应用程序和网站原型。Axure可以用于绘制用户界面的设计图、创建交互动作、设置页面流程,并生可交互的原型,以便于与团队员和用户进行沟通和反馈。 综上所述,数据迁移、数据清洗数据集和Axure是在数据处理和设计领域中常用的工具和技术,它们分别涉及将数据从旧系统迁移到新系统、修复和优化数据质量、整合多个数据源以及设计和原型制作等任务。这些工作对于数据的管理和利用具有重要的意义,能够帮助组织有效地处理、分析和应用数据。 ### 回答2: 数据迁移是指将数据从一个存储系统或平台迁移到另一个存储系统或平台的过程。在进行数据迁移时,需要考虑数据的完整性、准确性和安全性,以确保迁移后的数据可以正常使用。常见的数据迁移工具包括ETL(提取、转换和加载)工具和数据库迁移工具。 数据清洗是指对数据进行筛选、清除冗余、纠正错误和填充缺失值等操作,以提高数据的质量和准确性。数据清洗可以通过编写脚本或使用数据清洗工具来完,具体操作包括数据去重、数据格式化、数据标准化等。 数据集是指将来自不同数据源的数据合并到一起,以便于进行分析和挖掘。数据集可以通过ETL工具进行,它可以将多个数据源的数据提取出来,进行数据清洗和转换后加载到目标存储系统中,实现数据的集。 Axure是一款原型设计工具,主要用于设计和创建软件、网站和移动应用的交互原型。通过使用Axure,可以创建可交互的原型,包括页面布局、交互流程、动态效果等,从而帮助用户更好地理解和设计系统的功能和交互。 总结起来,数据迁移、数据清洗数据集和Axure原型设计工具都在不同的领域中起到重要的作用,它们分别解决了数据迁移、数据质量、数据集和原型设计的问题,为数据处理和系统设计提供了有效的工具和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sweeney Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值