Python数据分析与应用 第5章使用pandas进行数据预处理 第6章使用scikit-learn构建模型.pptx

Python数据分析与应用 第5章使用pandas进行数据预处理 第6章使用scikit-learn构建模型.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

使用pandas进行数据预处理;;横向堆叠,即将两个表在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)

常用参数如下所示。;参数名称;当axis=1的时候,concat做行对齐,然后将不同列名称的两张或多张表合并。当两个表索引不完全一样时,可以使用join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回索引重叠部分。在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补。

当两张表完全一样时,不论join参数取值是inner或者outer,结果都是将两个表完全按照X轴拼接起来。;使用concat函数时,在默认情况下,即axis=0时,concat做列对齐,将不同行索引的两张或多张表纵向合并。在两张表的列名并不完全相同的情况下,可join参数取值为inner时,返回的仅仅是列名交集所代表的列,取值为outer时,返回的是两者列名的并集所代表的列,其原理示意如图。

不论join参数取值是inner或者outer,结果都是将两个表完全按照Y轴拼接起来;append方法也可以用于纵向合并两张表。但是append方法实现纵向表堆叠有一个前提条件,那就是两张表的列名需要完全一致。append方法的基本语法如下

pandas.DataFrame.append(self,other,ignore_index=False,verify_integrity=False)。

常用参数如下所示。;主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于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函数中的参数说明,并按照需求修改相关参数,就可以多种??法实现主键合并。;参数名称;join方法也可以实现部分主键合并的功能,但是join方法使用时,两个主键的名字必须相同。

pandas.DataFrame.join(self,other,on=None,how=left,lsuffix=,rsuffix=,sort=False)

常用参数说明如下。;数据分析和处理过程中若出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上是完整的,而在另外一张表上的数据则是缺失的时候,可以用combine_first方法进行重叠数据合并,其原理如下。;combine_first的具体用法如下。

pandas.DataFbine_first(other)

参数及其说明如下。;1.堆叠不同时间的订单详情表

订单详情表meal_order_detail1、meal_order_detail2、meal_order_detail3具有相同的特征,但数据时间不同,订单编号也不同,在数据分析过程中需要使用全量数据,故需要将几张表做纵向堆叠操作。

2.主键合并订单详情表、订单信息表和客户信息表

订单详情表、订单信息表和客户信息表两两之间存在相同意义的字段,因此需通过主键合并的方式将三张表合并为一张宽表。;;记录重复,即一个或者多个特征某几个记录的值完全相同

方法一是利用列表(list)去重,自定义去重函数:

方法二是利用集合(set)的元素是唯一的特性去重,如dish_set=set(dishes)。

;比较上述两种方法可以发现,方法一代码冗长。方法二代码简单了许多,但会导致数据的排列发生改变。

pandas提供了一个名为drop_duplicates的去重方法。该方法只对DataFrame或者Series类型有效。这种方法不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点。该方法不仅支持单一特征的数据去重,还能

文档评论(0)

#### + 关注
实名认证
内容提供者

1亿VIP精品文档

相关文档