目录
1. 堆叠合并数据
1.1 横向表堆叠(axis=1,concat做行对齐)
横向堆叠,即将两个表在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.2 纵向堆叠(axis=0,concat做列对齐)
1.2.1 纵向堆叠——append方法
1.3 主键合并数据
主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的JOIN。
针对同一个主键存 在两张包含不同字段的表,将其根据某几个字段一一对应拼接起来,结果集列数为两个元数据的列数和减去连接键的数量。
主键合并:merge函数:
和数据库的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函数中的参数说明,并按照需求修改相关参数,就可以多种方法实现主键合并。
重叠合并数据:combine_first方法:
数据分析和处理过程中若出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的, 而在另外一张表上的数据则是缺失的时候,可以用combine_first方法进行重叠数据合并,其原理如下:
combine_first的具体用法如下:
pandas.DataFrame.combine_first(other)
参数及其说明如下:
2.清洗数据
2.1 检测与处理重复值
2.1.1记录重复
记录重复,即一个或者多个特征某几个记录的值完全相同 。
比较上述两种方法可以发现,方法一代码冗长。方法二代码简单了许多,但会导致数据的排列发生改变。
pandas提供了一个名为drop_duplicates的去重方法。该方法只对DataFrame或者Series类型有效。这种方
法不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点。该方法不仅支持单一特征的数据去重,还 能够依据DataFrame的其中一个或者几个特征进行去重操作。
pandas.DataFrame(Series).drop_duplicates(self, subset=None,
keep='first', inplace=False)
2.1.2 特征重复
1、结合相关的数学和统计学知识,去除连续型特征重复可以利用特征间的相似度将两个相似度为1的特征去除一个。
在pandas中相似度的计算方法为corr,使用该方法计算相似度时,默认为“pearson”法 ,
可以通过“method”参数调节,目前还支持“spearman”法和“kendall”法。
2、但是通过相似度矩阵去重存在一个弊端,该方法只能对数值型重复特征去重,
类别型特征之间无法通过计 算相似系数来衡量相似度。
3、除了使用相似度矩阵进行特征去重之外,可以通过DataFrame.equals的方法进行特征去重。
利用 isnull 或 notnull 找到缺失值:
1、数据中的某个或某些特征的值是不完整的,这些值称为缺失值。
2、pandas提供了识别缺失值的方法isnull以及识别非缺失值的方法notnull,