版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章使用pandas进行数据对象构建和数据运算
任务4.2索引操作Pandas索引操作概述使用位置索引和标签索引操作Series使用位置索引和标签索引操作DataFrame使用函数式索引操作Series和DataFrame使用常见查询方法查询数据索引用途索引变换Pandas索引操作概述Pandas有关索引的用法类似于NumPy数组的索引,只不过Pandas的索引既可以使用位置索引(下标),也可以使用标签索引(索引名)。另外,针对位置索引和标签索引专门提供了iloc和loc属性访问方法。无论是位置索引,还是标签索引,表达上都有4种索引方式,即基本索引、切片索引、花式索引和布尔索引。Pandas索引操作概述NumPy多维数组Ndarray访问索引的类别:位置(下标)索引索引的表达方式:四种,基本索引、切片索引、花式索引和布尔索引
索引的操作方式:索引运算符[]Pandas数据结构Series和DataFrame访问索引的类别:位置(下标)索引
、标签(名称)索引索引的表达方式:四种,基本索引、切片索引、花式索引和布尔索引索引的操作方式:索引运算符[]和属性运算符.,有一定局限性
数据结构对象的iloc和loc属性,灵活方便Pandas索引操作概述iloc:基于位置索引或布尔数组索引访问数据结构,也就是同样可以使用四种索引来访问数据结构。切片索引只包含起始位置索引,不包含结束位置索引。
loc:基于标签索引或布尔数组(或带标签的布尔数组)索引访问数据结构,也就是同样可以使用四种索引来访问数据结构。切片既包含起始标签索引,也包含结束标签索引。
使用位置索引和标签索引操作Series-概述
使用索引运算符[]和属性.运算符操作Series使用iloc或loc属性操作Seriess.iloc[行位置索引]、s.iloc[布尔数组索引]s.loc[行标签索引]、s.loc[带标签布尔数组索引或布尔数组索引]索引运算符、iloc或loc属性中使用四种索引使用位置索引和标签索引操作Series-基本索引使用基本索引,s表示Series对象。形如:s[下标]、s[标签]、s.标签、s.iloc[下标]、s.loc[标签]使用位置索引和标签索引操作Series-切片索引使用切片索引形如:s[下标i:下标j]、s[标签i:标签j]、s.iloc[下标i:下标j]、s.loc[标签i:标签j]使用位置索引和标签索引操作Series-花式索引使用花式索引形如:s[下标列表]、s[标签列表]、s.iloc[下标列表]、s.loc[标签列表]使用位置索引和标签索引操作Series-布尔索引使用布尔索引形如:s[带标签的布尔数组或布尔数组]、s.loc[带标签的布尔数组或布尔数组]、s.iloc[布尔数组]使用位置索引和标签索引操作DataFrame-概述使用索引运算符[]和.操作DataFrame使用iloc或loc属性操作DataFramedf.iloc[行位置索引]、df.iloc[布尔数组索引]df.loc[行标签索引]、df.loc[带标签布尔数组索引或布尔数组索引]df.iloc[行位置索引,列位置索引]df.loc[行标签索引,列标签索引]df[,]不支持索引运算符、iloc或loc属性中使用四种索引使用位置索引和标签索引操作DataFrame-基本索引通过[]和.直接使用基本索引,df表示DataFrame对象。注意:df的索引运算符操作是先列后行,先列必须得到是一个Series才能后行形如:df[列标签]或df.列标签,得到一个Series,后续按Series索引操作。使用位置索引和标签索引操作DataFrame-基本索引通过loc和iloc使用基本索引,注意,是始终是先行后列取数据df.loc方法,始终先行后列的标签索引查询df.iloc方法,始终先行后列的位置索引查询使用位置索引和标签索引操作DataFrame-切片索引直接使用切片索引,注意,切片索引只能使用行位置索引和行标签索引表达,不支持列索引表达形如:df[行下标i:行下标j]、df[行标签i:行标签j],即使i==j,结果也是DataFrame使用位置索引和标签索引操作DataFrame-切片索引iloc和loc使用切片索引,始终是先行获取数据形如:df.iloc[行下标i:行下标j]、df.loc[行标签i:行标签j]使用位置索引和标签索引操作DataFrame-花式索引直接使用花式索引,注意,也是先列方向,花式索引只能使用列标签索引表达形如:df[[列标签列表]]使用位置索引和标签索引操作DataFrame-花式索引iloc和loc使用花式索引,始终是先行获取数据形如:df.iloc[[下标列表]]、df.loc[[标签列表]]使用位置索引和标签索引操作DataFrame-布尔索引直接使用布尔数组索引形如:df[带标签的布尔数组]、df[布尔数组]使用位置索引和标签索引操作DataFrame-布尔索引df.iloc和df.loc使用布尔数组形如:df.iloc[布尔数组]、df.loc[带标签的布尔数组]、df.loc[布尔数组]使用位置索引和标签索引操作DataFrame-综合df.iloc和df.loc使用行列查询数据,行列位置索引和标签索引均可使用基本索引、切片索引、花式索引和布尔索引。df.iloc的布尔数组作为索引,不能直接使用Series或DataFrame类型的布尔数组(即带标签的布尔数组),需要将带标签的布尔数组取values转换成不带标签的布尔数组。形如:df.iloc[行位置索引,列位置索引]、df.loc[行标签索引,列标签索引]
df由行、列同时定位数据,必须使用iloc或loc方式,不能使用df[,]df可以取值得到二维数组来使用索引运算符[,]索引操作数据小结以四种索引,基本索引、切片索引、花式索引、布尔索引为主线,每种索引可以用位置索引或标签索引来表达,同时以索引运算符[]和属性运算符.、iloc和loc属性两种访问方式来使用索引。在二种访问方式里面,都可以使用四种索引。操作索引的基本结构有[]、[,]、[][]、.和iloc[]、iloc[,]、loc[]、loc[,]注意点:df[]:df[]先列结果是Series才能后行df[0:4]:直接切片索引仅仅支持行索引方向,不支持列索引方向iloc和loc总是先行索引方向,iloc[,]和loc[,]中逗号左边是行索引,右边是列索引第四章使用pandas进行数据对象构建和数据运算
任务4.2索引操作Pandas索引操作概述使用位置索引和标签索引操作Series使用位置索引和标签索引操作DataFrame使用函数式索引操作Series和DataFrame使用常见查询方法查询数据索引用途索引变换使用函数式索引操作Series和DataFrame函数式索引:指带有一个Series或DataFrame参数的函数,并返回有效的索引输出,有效索引就是四种索引之一。df(或s).iloc属性有效索引包括:一个整数,例如5整数列表或数组,例如[4,3,0]带有整数的切片对象,例如1:7布尔数组df(或s).loc有效索引包括:单个标签,例如5或'a'(注意,它5被解释为索引的标签,此用法不是索引的整数位置)列表或标签数组,例如['a','b','c']带标签的切片对象'a':'f'(注意,标签切片的端点包括在内)布尔数组df[]、s[]有效索引有位置有效索引,也有标签有效索引,遵循df和s索引运算符[]操作要求函数返回位置索引函数返回标签索引使用常见查询方法查询数据—df.querydf.query方法:DataFrame对象的query()方法允许使用表达式查询DataFrame的数据,query也是类似于SQL中where关键字的语法逻辑。query有两个SQL中标志性的设计:其一是@引用自定义外部变量,其二是对于特殊的列名(例如包含空格的字符)可以用反引号``加以修饰引用。query特点:节省内存以及有时他们具有更简洁的语法形式,但只能查询数据,不能修改数据。
使用常见查询方法查询数据—df.query使用常见查询方法查询数据—wherewhere方法:从具有布尔向量的Series中选择值通常会返回数据的子集。为了保证选择输出与原始数据具有相同的形状,您可以在Series和DataFrame中使用where方法。where接受的条件需要是布尔类型的,如果条件为真,保持原来的值,否则,就被赋值为默认的NaN或其他指定值。使用常见查询方法查询数据—wheredf1.where(m,df2)大致相当于np.where(m,df1,df2),比如:df.where(df<0,-df)==np.where(df<0,df,-df)。where对齐输入布尔条件,以便可以使用设置进行部分选择。小结函数式索引:函数带有一个Series或DataFrame参数,返回有效索引query方法:使用表达式优雅查询数据where方法:使用布尔数组作为条件查询,结果的shape和原数据结构shape一致,不满足条件的数据项,也可以按指定的axis方向广播修改数据。第四章使用pandas进行数据对象构建和数据运算
任务4.2索引操作Pandas索引操作概述使用位置索引和标签索引操作Series使用位置索引和标签索引操作DataFrame使用函数式索引操作Series和DataFrame使用常见查询方法查询数据索引用途索引变换索引用途把数据存储于普通的column列也能用于数据查询,那使用index的用途是什么呢?更方便的数据查询;使用index可以获得性能提升;自动的数据对齐功能;更多更强大的数据结构支持索引用途使用index查询数据索引用途使用index会提升查询性能如果index是唯一的,Pandas会使用哈希表优化,查询性能为O(1)如果index不是唯一的,但是有序,Pandas会使用二分查找算法,查询性能为O(logN)如果index是完全随机的,那么每次查询都要扫描全表,查询性能为O(N)完全随机的顺序查询将index排序后的查询将数据随机打散
索引用途
使用index能自动对齐数据(参考4.3)Series、DataFrame和多维数组的主要区别在于,Pandas数据结构之间的操作会自动基于标签对齐数据。因此,不用顾及执行计算操作的数据结构是否有相同的标签。Pandas数据结构集成的数据对齐功能,是Pandas区别于大多数标签型数据处理工具的重要特性性。index提供更多更强大的索引数据结构支持(参考4.4)CategoricalIndex,基于分类数据的Index,提升性能;MultiIndex,多维索引,用于groupby多维聚合后结果等;DatetimeIndex,时间类型索引,强大的日期和时间的方法支持;索引变换—reindex和renamereindex执行的是索引重组操作,接收一组标签序列作为新索引,既适用于行索引也适用于列标签名,重组之后索引数量可能发生变化,索引名为传入标签序列。当原DataFrame中存在新指定的索引时则提取相应行或列,不存在则舍弃。若新指定的索引在原来索引中不存在,则默认赋值为空或填充新值。索
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024物理教研组工作计划范文
- 羽毛球课程教学工作计划教研学习计划
- 乡村幼儿园教师送培项目工作总结-“国培计划”
- 音乐室管理工作计划音乐功能室工作计划
- 学生会宣传部年度的工作总结
- 新公司财务工作计划
- 2024年幼儿园小班个人计划参考范文
- 托班班务计划范文
- 教研的年度工作计划范文
- 三年级信息技术教学计划
- 2023年中考英语1600词汇中考单词
- 成语故事详解:暗箭伤人
- 告别抄袭自强自立课件
- 六年级数学上册 第12讲 进位制与取整符号(教师版)全国通用
- 临床护理服务全过程与优质护理
- 安全员消防知识培训课件
- 六年级学生心理素质测试题及答案
- 《国家基本药物临床应用指南》《国家基本药物处方集》培训
- 医院感染预防与控制政策与法规
- 软件生存周期过程控制程序
- 江西司法警官职业学院实习报告范文
评论
0/150
提交评论