文档详情

数据挖掘技术与应用:使用pandas进行数据预处理课件

冬****
实名认证
店铺
2024-12-01
PPTX
1.04MB
约44页
数据挖掘技术与应用:使用pandas进行数据预处理课件_第1页
1/44
数据挖掘技术与应用:使用pandas进行数据预处理课件_第2页
2/44
数据挖掘技术与应用:使用pandas进行数据预处理课件_第3页
3/44

单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,数据,挖掘,技术与,应用,数据挖掘技术与应用,1,清洗数据,目录,合并数据,2,标准化数据,3,转换数据,4,小结,5,1清洗数据目录合并数据2标准化数据3转换数据4小结5,横向堆叠,即将两个表在,X,轴向拼接在一起,可以使用,concat,函数完成,,concat,函数的基本语法如下pandas.,concat,(objs,axis=0,join=outer,join_axes=None,ignore_index=False,keys=None,levels=None,names=None,verify_integrity=False,copy=True),常用参数如下所示堆叠合并数据,1.,横向表堆叠,参数名称,说明,objs,接收多个,Series,,,DataFrame,,,Panel,的组合表示参与链接的,pandas,对象的列表的组合axis,接收,0,或,1,表示连接的轴向,默认为,0,join,接收,inner,或,outer,。

表示其他轴向上的索引是按交集(,inner,)还是并集(,outer,)进行合并默认为,outer,join_axes,接收,Index,对象表示用于其他,n-1,条轴的索引,不执行并集交集运算横向堆叠,即将两个表在X轴向拼接在一起,可以使用concat,参数名称,说明,ignore_index,接收,boolean,表示是否不保留连接轴上的索引,产生一组新索引,range(total_length),默认为,False,keys,接收,sequence,表示与连接对象有关的值,用于形成连接轴向上的层次化索引默认为,None,levels,接收包含多个,sequence,的,list,表示在指定,keys,参数后,指定用作层次化索引各级别上的索引默认为,None,names,接收,list,表示在设置了,keys,和,levels,参数后,用于创建分层级别的名称默认为,None,verify_integrity,接收,boolearn,表示是否检查结果对象新轴上的重复情况,如果发现则引发异常默认为,False,堆叠合并数据,1.,横向表堆叠,参数名称说明ignore_index接收boolean。

表示,当,axis=1,的时候,,concat,做行对齐,然后将不同列名称的两张或多张表合并当两个表索引不完全一样时,可以使用,join,参数选择是内连接还是外连接在内连接的情况下,仅仅返回索引重叠部分在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补,当两张表完全一样时,不论,join,参数取值是,inner,或者,outer,,结果都是将两个表完全按照,X,轴拼接起来,堆叠合并数据,1.,横向表堆叠,当axis=1的时候,concat做行对齐,然后将不同列名称,使用,concat,函数时,在默认情况下,即,axis=0,时,,concat,做列对齐,将不同行索引的两张或多张表纵向合并在两张表的列名并不完全相同的情况下,可,join,参数取值为,inner,时,返回的仅仅是列名交集所代表的列,取值为,outer,时,返回的是两者列名的并集所代表的列,其原理示意如,图不论,join,参数取值是,inner,或者,outer,,结果都是将两个表完全按照,Y,轴拼接起来,堆叠合并数据,2.,纵向堆叠,concat,函数,使用concat函数时,在默认情况下,即axis=0时,co,append,方法也可以用于纵向合并两张表。

但是,append,方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致append,方法的基本语法如下,pandas.DataFrame.,append,(self,other,ignore_index=False,verify_integrity=False),常用参数如下所示堆叠合并数据,2.,纵向堆叠,append,方法,参数名称,说明,other,接收,DataFrame,或,Series,表示要添加的新数据ignore_index,接收,boolean,如果输入,True,,会对新生成的,DataFrame,使用新的索引(自动产生)而忽略原来数据的索引默认为,False,verify_integrity,接收,boolean,如果输入,True,,那么当,ignore_index,为,False,时,会检查添加的数据索引是否冲突,如果冲突,则会添加失败默认为,False,append方法也可以用于纵向合并两张表但是append方,主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于,SQL,中的,JOIN,针对同一个主键存在两张包含不同字段的表,将其根据某几个字段一一对应拼接起来,结果集列数为两个元数据的列数和减去连接键的数量,。

主键合并数据,主键合并,主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于,和数据库的,join,一样,,merge,函数也有左连接(,left,)、右连接(,right,)、内连接(,inner,)和外连接(,outer,),但比起数据库,SQL,语言中的,join,和,merge,函数还有其自身独到之处,例如可以在合并过程中对数据集中的数据进行排序等pandas.,merge,(left,right,how=inner,on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=(_x,_y),copy=True,indicator=False),可根据,merge,函数中的参数说明,并按照需求修改相关参数,就可以多种方法实现主键合并,主键合并数据,主键合并,merge,函数,和数据库的join一样,merge函数也有左连接(left),参数名称,说明,left,接收,DataFrame,或,Series,表示要添加的新数据right,接收,DataFrame,或,Series,。

表示要添加的新数据how,接收,inner,,,outer,,,left,,,right,表示数据的连接方式默认为,inner,on,接收,string,或,sequence,表示两个数据合并的主键(必须一致)默认为,None,left_on,接收,string,或,sequence,表示,left,参数接收数据用于合并的主键默认为,None,right_on,接收,string,或,sequence,表示,right,参数接收数据用于合并的主键默认为,None,left_index,接收,boolean,表示是否将,left,参数接收数据的,index,作为连接主键默认为,False,right_index,接收,boolean,表示是否将,right,参数接收数据的,index,作为连接主键默认为,False,sort,接收,boolean,表示是否根据连接键对合并后的数据进行排序默认为,False,suffixes,接收接收,tuple,表示用于追加到,left,和,right,参数接收数据重叠列名的尾缀默认为,(_x,_y),主键合并数据,常用,参数及其说明,参数名称说明left接收DataFrame或Series。

表,join,方法也可以实现部分主键合并的功能,但是,join,方法使用时,两个主键的名字必须相同,pandas.DataFrame.join(self,other,on=None,how=left,lsuffix=,rsuffix=,sort=False),常用参数说明如下主键合并数据,主键合并,join,方法,参数名称,说明,other,接收,DataFrame,、,Series,或者包含了多个,DataFrame,的,list,表示参与连接的其他,DataFrame,on,接收列名或者包含列名的,list,或,tuple,表示用于连接的列名默认为,None,how,接收特定,string,inner,代表内连接;,outer,代表外连接;,left,和,right,分别代表左连接和右连接默认为,inner,lsuffix,接收,sring,表示用于追加到左侧重叠列名的末尾rsuffix,接收,string,表示用于追加到右侧重叠列名的末尾sort,根据连接键对合并后的数据进行排序,默认为,True,join方法也可以实现部分主键合并的功能,但是join方法使,数据分析和处理过程中,若,出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的,而在另外一张表上的数据则是缺失的,时候,可以用,combine_first,方法进行重叠数据合并,其原理如,下。

重叠合并数据,combine_first,方法,数据分析和处理过程中若出现两份数据的内容几乎一致的情况,但是,combine_first,的具体用法如下pandas.DataFrame.,combine_first,(other),参数及其说明如下重叠合并数据,combine_first,方法,参数名称,说明,other,接收,DataFrame,表示参与重叠合并的另一个,DataFrame,combine_first的具体用法如下重叠合并数据com,1.,堆叠不同时间的订单详情表,订单详情表,meal_order_detail1,、,meal_order_detail2,、,meal_order_detail3,具有相同的特征,但数据时间不同,订单编号也不同,在数据分析过程中需要使用全量数据,故需要将几张表做纵向堆叠操作,2.,主键合并订单详情表、订单信息表和客户信息表,订单详情表、订单信息表和客户信息表两两之间存在相同意义的字段,因此需通过主键合并的方式将三张表合并为一张宽表,任务实现,1.堆叠不同时间的订单详情表任务实现,1,清洗数据,目录,合并数据,2,标准化数据,3,转换数据,4,小结,5,1清洗数据目录合并数据2标准化数据3转换数据4小结5,记录重复,即一个或者多个特征某几个记录的值完全相同,方法一是利用列表(,list,)去重,,自定义去重函数:,方法二是,利用集合(,set,)的元素是唯一的特性去重,,如,dish_set=set(dishes),比较上述两种方法可以发现,,方法一,代码冗长。

方法二,代码简单了许多,,但,会导致数据的排列发生改变,检测与处理重复值,1.,记录重复,def delRep(list1):,list2=,for i in list1:,if i not in list2:,list2.append(i),return list2,记录重复,即一个或者多个特征某几个记录的值完全相同检测与处理,pandas,提供了一个名为,drop_duplicates,的去重方法该方法只对,DataFrame,或者,Series,类型有效这种方法不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点,该,方法不仅支持单一特征的数据去重,还能够依据,DataFrame,的其中一个或者几个特征进行去重操作,pandas.DataFrame(Series).,drop_duplicates,(self,subset=None,keep=first,inplace=False),检测与处理重复值,1.,记录重复,参数名称,说明,subset,接收,string,或,s。

下载提示
相关文档
正为您匹配相似的精品文档
最新文档