




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、沿着横轴或纵轴串接理解轴(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的duplicat
5、ed方法返回一个布尔型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)在很大程度上是运用数组来运算。看一个含正态分布数据的DataFrame:03、
7、数据装换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、计算指标/哑变量另一种用于统计建模或机器学习的转换方式是:将分类变量(categoric
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025劳动合同法 员工合同
- 白山事业单位笔试真题2025
- 2 整式的乘法说课稿-2025-2026学年初中数学北师大版2024七年级下册-北师大版2024
- 第3课 突破封锁线说课稿-2025-2026学年小学信息技术(信息科技)第四册下粤教版
- 3.3 紧缺的水资源说课稿-2025-2026学年初中地理晋教版八年级上册-晋教版2012
- 2025合同样本:物料与采购管理系统协议范本
- 化肥厂合同审核管理制度
- 2025合同范本:股权激励分配协议示例
- 第8课 数字化生活教学设计-2025-2026学年小学地方、校本课程浙教版人·自然·社会
- 41. See Me Skip说课稿-2025-2026学年小学英语1a典范英语(Good English)
- 2025贵州省贵阳市殡仪服务中心公开招聘(编外)工作人员25人考试参考试题及答案解析
- 2025年国家安全知识竞赛试卷(答案+解析)
- 2025年贵州省凯里市辅警招聘考试题题库(含参考答案)
- 2025年四川基层法律服务工作者执业核准考试复习题及答案二
- 2025年全国企业员工全面质量管理知识竞赛题库(含答案)
- 大数据产业课件
- 潮汐能发电站课件
- 良好学习习惯养成课件
- 国际化跨国经营中的伦理问题概述
- 2025-2026学年度武汉市部分学校高三年级九月调研考试 语文试卷(含标准答案)
- 2025年禁毒知识竞赛试题及参考答案
评论
0/150
提交评论