Python数据分析与实战(微课版)课件 第4章 使用pandas进行数据预处理.pptx
使用pandas进行数据预处理;;横向堆叠,即将两个表在x轴向拼接在一起,可以使用concat函数完成。concat函数的基本使用格式如下。
concat函数的常用参数及其说明如下表。
;concat函数的常用参数及其说明(续表)。
;当参数axis=1时,concat函数可做行对齐,然后将不同列名称的两张或多张表合并。
当两个表索引不完全一样时,可以设置join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分数据;在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补,横向堆叠外连接示例如图所示。
当两份数据行索引完全一样时,不论join参数的取值是inner或outer,结果都是将两个表完全按照x轴拼接起来。
;使用concat函数时,在默认情况下,即axis=0,concat函数做列对齐,将不同行索引的两张或多张表纵向合并。
在两张表的列名并不完全相同的情况下,可以使用join参数。
当join参数取值为inner时,返回的仅仅是列名的交集所代表的列。
当join参数取值为outer时,返回的是两者列名的并集所代表的列。其原理示意如图。
当两张表的列名完全相同时,不论join参数的取值是inner还是outer,结果都是将两个表完全按照y轴拼接起来。;主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的join。
针对两张包含不同特征的表,将根据某几个特征做为主键,将表一一对应拼接起来,合并后数据的列数为两个原数据表的列数之和减去主键列的数量;和数据库的join一样,merge函数也有左连接(left)、右连接(right)、内连接(inner)和外连接(outer)。
比起数据库SQL语言中的join,merge函数还有其自身独到之处,如可以在合并过程中对数据集中的数据进行排序等,merge函数的基本使用格式如下。
根据merge函数中的参数说明,并按照需求修改相关参数,即可以多种方法实现主键合并。;merge函数的常用参数及其说明。
;merge函数的常用参数及其说明(续表)。
;除了使用merge函数以外,使用join()方法也可以实现部分主键合并的功能。但是当使用join()方法时,两个主键的名字必须相同,join()方法的基本使用格式如下。;join()函数的常用参数及其说???。
;在数据分析和数据处理过程中偶尔会出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的,而在另外一张表上的数据则是缺失的。
combine_first()方法来进行重叠数据合并,其原理如下图所示。
;combine_first()方法的基本使用格式如下。
combine_first()方法的常用参数及其说明表如下。
;;记录重复,即一个或多个特征的某几条记录的值完全相同。
方法一:利用列表(list)去重,自定义去重函数。
方法二:利用集合(set)元素唯一的特性去重。
比较上述两种方法可以发现,方法一代码冗长。方法二看似代码简洁了许多,但是会导致数据的排列发生改变。;pandas提供了一个名为drop_duplicates的去重方法,使用该方法进行去重不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点。
不仅支持单一特征的数据去重,还能够依据DataFrame的其中一个或多个特征进行去重操作。drop_duplicates()方法的基本使用格式如下。
;drop_duplicates()方法的常用参数及其说明。;结合相关的数学和统计学知识,要去除连续的特征重复,可以利用特征间的相似度将两个相似度为1的特征去除其中一个。
在pandas中,相似度的计算方法为corr()。使用该方法计算相似度时,默认为pearson法,可以通过method参数进行调节,目前还支持spearman法和kendall法。
通过相似度矩阵去重存在一个弊端是只能对数值型重复特征去重,类别型特征之间无法通过计算相似系数来衡量相似度,因此无法根据相似度矩阵对其进行去重处理。
除了使用相似度矩阵进行特征去重之外,还可以通过equals()方法进行特征去重。;equals()方法的基本使用格式如下。
equals()方法的参数说明表如下。
;在数据中的某个或某些特征的值是不完整的,这些值称为缺失值。
pandas提供了识别缺失值的isnull()方法以及识别非缺失值的notnull()方法,这两种方法在使用时返回的都是布尔值,即True和False。
结合sum函数、isnull()方法和notnull()方法,可以检测数据中缺失值的分布以及数据中一共含有多少缺失值。
isnull()方法和notnull()方法的结果正好相反,因此使用其中任意一个都可以识别出数据是否存在缺失值。;删除法是指将