数据挖掘技术与应用:使用pandas进行数据预处理课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据挖掘技术与应用:使用pandas进行数据预处理课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 技术 应用 使用 pandas 进行 预处理 课件
- 资源描述:
-
1、数据挖掘技术与应用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的组合。表示参与链接的p
2、andas对象的列表的组合。无默认。axis接收0或1。表示连接的轴向,默认为0。join接收inner或outer。表示其他轴向上的索引是按交集(inner)还是并集(outer)进行合并。默认为outer。join_axes 接收Index对象。表示用于其他n-1条轴的索引,不执行并集交集运算。参数名称说明ignore_index接收boolean。表示是否不保留连接轴上的索引,产生一组新索引range(total_length)。默认为False。keys接收sequence。表示与连接对象有关的值,用于形成连接轴向上的层次化索引。默认为None。levels接收包含多个sequence
3、的list。表示在指定keys参数后,指定用作层次化索引各级别上的索引。默认为None。names接收list。表示在设置了keys和levels参数后,用于创建分层级别的名称。默认为None。verify_integrity接收boolearn。表示是否检查结果对象新轴上的重复情况,如果发现则引发异常。默认为False。堆叠合并数据 1.横向表堆叠横向表堆叠 当axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,可以使用join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分。在外连接的情况下,则显示索引的并集部分数据,不
4、足的地方则使用空值填补。当两张表完全一样时,不论join参数取值是inner或者outer,结果都是将两个表完全按照X轴拼接起来。堆叠合并数据 1.横向表堆叠横向表堆叠 使用concat函数时,在默认情况下,即axis=0时,concat做列对齐,将不同行索引的两张或多张表纵向合并。在两张表的列名并不完全相同的情况下,可join参数取值为inner时,返回的仅仅是列名交集所代表的列,取值为outer时,返回的是两者列名的并集所代表的列,其原理示意如图。不论join参数取值是inner或者outer,结果都是将两个表完全按照Y轴拼接起来堆叠合并数据 2.纵向堆叠纵向堆叠concat函数 appe
5、nd方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致。append方法的基本语法如下pandas.DataFrame.append(self,other,ignore_index=False,verify_integrity=False)。常用参数如下所示。堆叠合并数据 2.纵向堆叠纵向堆叠append方法参数名称说明other接收DataFrame或Series。表示要添加的新数据。无默认。ignore_index接收boolean。如果输入True,会对新生成的DataFrame使用新的索引(自动产生)而忽略原来数据的索引。默认
6、为False。verify_integrity接收boolean。如果输入True,那么当ignore_index为False时,会检查添加的数据索引是否冲突,如果冲突,则会添加失败。默认为False。主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的JOIN。针对同一个主键存在两张包含不同字段的表,将其根据某几个字段一一对应拼接起来,结果集列数为两个元数据的列数和减去连接键的数量。主键合并数据 主键合并主键合并 和数据库的join一样,merge函数也有左连接(left)、右连接(right)、内连接(inner)和外连接(outer),但比起数据库SQL语言中的join
7、和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函数参数名称说明left接收DataFrame或Series。表示要添加的
8、新数据。无默认。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作为连接主键。默认为Fa
9、lse。right_index接收boolean。表示是否将right参数接收数据的index作为连接主键。默认为False。sort接收boolean。表示是否根据连接键对合并后的数据进行排序。默认为False。suffixes接收接收tuple。表示用于追加到left和right参数接收数据重叠列名的尾缀默认为(_x,_y)。主键合并数据 常用常用参数及其说明参数及其说明 join方法也可以实现部分主键合并的功能,但是join方法使用时,两个主键的名字必须相同。pandas.DataFrame.join(self,other,on=None,how=left,lsuffix=,rsuffi
10、x=,sort=False)常用参数说明如下。主键合并数据 主键合并主键合并join方法参数名称说明other接收DataFrame、Series或者包含了多个DataFrame的list。表示参与连接的其他DataFrame。无默认。on接收列名或者包含列名的list或tuple。表示用于连接的列名。默认为None。how接收特定string。inner代表内连接;outer代表外连接;left和right分别代表左连接和右连接。默认为inner。lsuffix接收sring。表示用于追加到左侧重叠列名的末尾。无默认。rsuffix接收string。表示用于追加到右侧重叠列名的末尾。无默认。
11、sort根据连接键对合并后的数据进行排序,默认为True。数据分析和处理过程中若出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的,而在另外一张表上的数据则是缺失的时候,可以用combine_first方法进行重叠数据合并,其原理如下。重叠合并数据 combine_first方法方法 combine_first的具体用法如下。pandas.DataFbine_first(other)参数及其说明如下。重叠合并数据 combine_first方法方法参数名称说明other接收DataFrame。表示参与重叠合并的另一个DataFrame。无默认。1.堆叠不同时间的订单详情表堆叠
12、不同时间的订单详情表 订单详情表meal_order_detail1、meal_order_detail2、meal_order_detail3具有相同的特征,但数据时间不同,订单编号也不同,在数据分析过程中需要使用全量数据,故需要将几张表做纵向堆叠操作。2.主键合并订单详情表、订单信息表和客户信息表主键合并订单详情表、订单信息表和客户信息表 订单详情表、订单信息表和客户信息表两两之间存在相同意义的字段,因此需通过主键合并的方式将三张表合并为一张宽表。任务实现1清洗数据目录合并数据2标准化数据3转换数据4小结5记录重复,即一个或者多个特征某几个记录的值完全相同 方法一是利用列表(list)去重
13、,自定义去重函数:方法二是利用集合(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类型有效。这种方法不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点。该方
14、法不仅支持单一特征的数据去重,还能够依据DataFrame的其中一个或者几个特征进行去重操作。pandas.DataFrame(Series).drop_duplicates(self,subset=None,keep=first,inplace=False)检测与处理重复值 1.记录重复记录重复参数名称说明subset接收string或sequence。表示进行去重的列。默认为None,表示全部列。keep接收特定string。表示重复时保留第几个数据。First:保留第一个。Last:保留最后一个。False:只要有重复都不保留。默认为first。inplace接收boolean。表示是否
15、在原表上进行操作。默认为False。结合相关的数学和统计学知识,去除连续型特征重复可以利用特征间的相似度将两个相似度为1的特征去除一个。在pandas中相似度的计算方法为corr,使用该方法计算相似度时,默认为“pearson”法,可以通过“method”参数调节,目前还支持“spearman”法和“kendall”法。但是通过相似度矩阵去重存在一个弊端,该方法只能对数值型重复特征去重,类别型特征之间无法通过计算相似系数来衡量相似度。除了使用相似度矩阵进行特征去重之外,可以通过DataFrame.equals的方法进行特征去重。检测与处理重复值 2.特征重复特征重复 数据中的某个或某些特征的值
16、是不完整的,这些值称为缺失值。pandas提供了识别缺失值的方法isnull以及识别非缺失值的方法notnull,这两种方法在使用时返回的都是布尔值True和False。结合sum函数和isnull、notnull函数,可以检测数据中缺失值的分布以及数据中一共含有多少缺失值。isnull和notnull之间结果正好相反,因此使用其中任意一个都可以判断出数据中缺失值的位置。检测与处理缺失值 利用利用isnull或或notnull找到缺失值找到缺失值 删除法分为删除观测记录和删除特征两种,它属于利用减少样本量来换取信息完整度的一种方法,是一种最简单的缺失值处理方法。pandas中提供了简便的删除缺
展开阅读全文