第一章 数据清洗
第二章 数据合并
第三章 数据重塑
第四章 数据转换
数据清洗是一项复杂且繁琐
的工作,同时也是整个数据分析过程中最为重要
的环节。
数据清洗的目的在于
提高数据质量
,将脏数据
清洗干净,使原数据具有完整性
、唯一性
、权威性
、合法性
、一致性
等特点
脏数据
在这里指的是对数据分析没有实际意义
、格式非法
、不在指定范围内
的数据。
提示:以下是本篇文章正文内容,下面案例可供参考
concat()函数可以沿着一条轴将多个对象进行堆叠,其使用方式类似数据库中的数据表合并。
concat(objs,axis=0,join=‘outer’,join_axes=None,ignore_index=False,
keys=None,levels=None,names=None, ...)
axis
:表示连接的轴向,可以为0
或1
,默认为0
。join
:表示连接的方式
,inner
表示内连接,outer
表示外连接,默认使用外连接
。ignore_index
:如果设置为True
,清除现有索引
并重置索引值。names
:结果分层索引中的层级的名称。根据轴方向的不同,可以将堆叠分成
横向堆叠
与纵向堆叠
,默认
采用的是纵向堆叠方式
。
在堆叠数据时,默认采用的是外连接(join
参数设为outer
)的方式进行合并,当然也可以通过join=inner
设置为内连接的方式。
外连接的方式求得是
合集
,内连接的方式求的是交集
当使用concat()
函数合并时,若是将axis
参数的值设为1
,且join
参数的值设为outer
,代表着使用横向堆叠
与外连接
的方式进行合并
。
当使用concat()
函数合并时,若是将axis
参数的值设为0
,且join
参数的值设为inner
,则代表着使用纵向堆叠
与内连接
的方式进行合并。
主键合并类似于
关系型数据库
的连接方式,它是指根据一个或多个键将不同的DatFrame
对象连接起来,大多数是将两个DatFrame
对象中重叠的列
作为合并的键。
Pandas中提供了用于主键合并的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, validate=None)
left
:参与合并的左侧
DataFrame对象。right
:参与合并的右侧
DataFrame对象。how
:表示连接方式,默认为inner
。
how
参数可以取下列值:
left
:使用左侧
的DataFrame的键,类似SQL的左外连接
。right
:使用右侧
的DataFrame的键,类似SQL的右外连接
。outer
:使用两个DataFrame所有
的键,类似SQL的全连接
。inner
:使用两个DataFrame键的交集
,类似SQL的内连接
。在使用
merge()
函数进行合并时,默认会使用重叠的列索引
做为合并键,并采用内连接
方式合并数据,即取行索引重叠
的部分。
除此之外,
merge()
函数还支持对含有多个重叠列
的DataFrame对象进行合并
。
使用外连接的方式将
left
与right
进行合并时,列中相同的数据会重叠
,没有数据的位置使用NaN
进行填充。
左连接是以
左表为基准
进行连接,所以left
表中的数据会全部显示
,right
表中只会显示与重叠数据行索引值相同
的数据,合并后表中缺失的数据会使用NaN
进行填充。
右连接与左连接的规则正好相反,右连接是以
右表
为基准,右表中的数据全部显示
,而左表中显示与重叠数据行索引值相同
的数据,合并后缺失的数据使用NaN
填充合并。
假设两张表中的行索引与列索引
均没有重叠
的部分,但依旧可以使用merge
函数来合并,只需要将参数left_index
与right_index
的值设置为True
即可。
join()
方法能够通过索引
或指定列
来连接多个DataFrame
对象。
join(other,on = None,how ='left',lsuffix ='',rsuffix ='',sort = False )
on
:名称,用于连接列名
。how
:可以从{‘‘left’’ ,‘‘right’’, ‘‘outer’’,‘‘inner’’}中任选一个,默认使用左连接
的方式。sort
:根据连接键对合并的数据进行排序
,默认为False
。当
DataFrame
对象中出现了缺失数据
,而我们希望使用其他DataFrame对象中的数据填充缺失数据,则可以通过combine_first()
方法为缺失数据填充。
combine_first(other)
other
,该参数用于接收填充缺失值
的DataFrame对象。假设现在有
left
表与right
表,其中left
表中存在3个缺失
的数据,而right表中的数据是完整的,并且right表与left表有相同的索引名,此时我们可以使用right表中的数据来填充left表的缺失数据,得到一个新的result表
转载于:https://edu.csdn.net/skill/python02/python-3-205?category=883&typeId=17523#21__284