数据导入与预处理应用-第8章-基于Python整理数据课件.pptx

上传人(卖家):三亚风情 文档编号:3539301 上传时间:2022-09-14 格式:PPTX 页数:21 大小:975.18KB
下载 相关 举报
数据导入与预处理应用-第8章-基于Python整理数据课件.pptx_第1页
第1页 / 共21页
数据导入与预处理应用-第8章-基于Python整理数据课件.pptx_第2页
第2页 / 共21页
数据导入与预处理应用-第8章-基于Python整理数据课件.pptx_第3页
第3页 / 共21页
数据导入与预处理应用-第8章-基于Python整理数据课件.pptx_第4页
第4页 / 共21页
数据导入与预处理应用-第8章-基于Python整理数据课件.pptx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、第八章基于Python整理数据 在实际的数据分析建模的工作中,大部分的时间用在数据预处理任务上,包括数据的加载、清洗、格式转换,以及数据的重新编排。这是因为,绝大部分情况下,存储在数据库或者文件中的数据,它们的格式和内容并非恰好满足当前的数据分析任务。而将数据通过各种方式整理得到完全符合要求的格式,往往需要花费相当大的时间和精力。Python语言具备清晰简洁的语法,灵活高效的数据结构,以及丰富广泛的第三方库,可以帮助我们极大地提高烦杂的数据整理工作的效率。在Python语言丰富的第三方库中,pandas尤其适合做数据整理工作。实际上,开源的pandas库更新完善很多时候是由实际的数据整理需求驱

2、动的。本章重点介绍如何使用pandas高效地完成典型的数据整理工作。本章内容提要目录010203合并多个数据集数据重塑数据转换01合并多个数据集pandas提供了多种方法,用于合并多个数据集,比如:pandas.merge基于一个或多个键连接多个DataFrame中的行。pandas.concat按行或按列将不同的对象叠加到一起。01、合并多个数据集 1.1、数据库风格的DataFrame合并 SQL语言的用户对join操作很熟悉,它用于合并数据集,按照一个或多个特定的键来连接相关的行。在关系型数据库中,连接操作处于中心的位置。pandas提供了merge函数,可以对数据集进行类似数据库连接的

3、操作。我们还可以使用index索引列作为连接的字段,进行合并操作。我们可以通过右图实例大致了解Merge方法的使用。01、合并多个数据集 1.2、沿着横轴或纵轴串接l 理解轴(axis)的含义0(默认):表示沿着每一列或行标签索引值向下执行方法1:表示沿着每一行或者列标签模向执行对应的方法具体用法如下图示:02数据重塑数据重塑表示转换输入数据的结构,使其适合后续的分析。pandas中包含了一些用于重塑数据的基础操作,这些操作用于二维表格数据。这一节将介绍其中广泛使用的stack、unstack以及pivot操作。02、数据重塑 2.1、沿着横轴多级索引数据的重塑pandas的DataFrame

4、,可以设置多级索引。对于多级索引数据,pandas的stack 方法可以将数据集的列旋转为行,而unstack 方法可以将数据的行旋转为列。stack和unstack过程。创建具有多级索引的数据集02、数据重塑 2.2、应用pivot方法重塑数据数据统计二维表转换,pivot()这个方法可以解决很多问题,节省了大量的代码。melt()可以作为它的反过程。具体使用效果,如下图所示:03数据转换到目前为止本章已介绍了数据的合并、重排等操作。另一类重要操作则是过滤、清理以及其他的转换工作。03、数据装换 3.1、移除重复数据重复行出现在DataFrame中可能有多种原因,DataFrame的dupl

5、icated方法返回一个布尔型Series,用以提示各行是否是重复行,与此相关的drop_duplicates方法会返回一个DataFrame。它去掉了duplicated函数返回值为TRUE的那些行。03、数据装换 3.2、利用函数或映射进行数据转换对很多数据集而言,你可能希望根据数组、Series或者DataFrame中的某列的值来进行转换操作。来看看下面这组有关公司大致体量的数据(假想),假如我们希望看到这些公司来自那些城市,可以先编写一个不同公司到城市的映射,Series的map方法可以接受一个函数或含有映射关系的字典型对象。03、数据装换 3.3、值转换利用fillna方法填充缺失数

6、据可以看做值转换的一种特殊情况。前面已经看到,map可用于修改对象的数据子集,而replace函数则提供了一种实现该功能的更简单、更灵活的方式:03、数据装换 3.4、重命名轴索引跟Series中的值一样,轴标签也可以通过函数或映射转换,得到一个不同标签的新对象。轴还能够被就地修改,而无需新建一个数据结构。如果希望就地修改某个数据集,传入inplace=True即可03、数据装换 3.5、离散化和面元划分连续数据常常被离散化或拆分为“面元”(bin)来帮助分析。03、数据装换 3.6、检测和过滤异常值过滤或变换异常值(outlier)在很大程度上是运用数组来运算。看一个含正态分布数据的Data

7、Frame:03、数据装换 3.6、检测和过滤异常值如果你要选出全部含有“超过3或3的值”的行,你可以在布尔型DataFrame中使用any方法:03、数据装换 3.6、检测和过滤异常值根据这些条件,就可以对值进行设置。下面的代码可以将值限制在区间3到3以内:03、数据装换 3.7、排列和随机采样使用numpy.random.permutation函数能够轻松对Series或DataFrame的列进行重新排序。通过需要排列的轴的长度调用permutation,可产生一个表示新顺序的整数数组:In 49:df=pd.DataFrame(np.arange(5*4).reshape(5,4)In 50:sampler=np.random.permutation(5)In 51:samplerOut51:array(1,3,0,4,2)03、数据装换 3.8、计算指标/哑变量另一种用于统计建模或机器学习的转换方式是:将分类变量(categorical variable)转换为“虚拟”或“指示”的矩阵。如果DataFrame的某一列包含k个不同的值,你可以派生出一个值均为1或0 的k列矩阵或DataFrame。pandas有一个get_dummies函数可以实现该功能。谢谢观看

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据导入与预处理应用-第8章-基于Python整理数据课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|