版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课题4.1数据的排序与排名课型讲练授课班级大数据授课时数2教学目标1.能够对数据按照指定列排序。2.能够对数据按照指定列排名。3.理解排名函数rank中排名方法参数method的用法。教学重点1.能够对数据按照指定列排序。2.能够对数据按照指定列排名。教学难点1.理解排名函数rank中排名方法参数method的用法。学情分析对数据进行排序是数据分析的一种常用的方法,而且这种方法也常常和其他方法一起使用,比如在统计频数后,可以再按照方式进行排序。排序和排名在Excel中已经学过了,方法也类似。在数据分析时,对数据进行排序和排名是常用的一种操作。通过数据的排序和排名,比较容易发现数据的特征或趋势,找到解决问题的线索。除此之外,排序和排名还有助于对数据检查纠错,为数据的分组或分段等提供方便。一、数据排序数据排序是指数据按一定方式进行排列,通过数据排序可以更为方便地看出数据特征。DataFrame排序可以分为按索引排序和按某列值排序,索引排序是指按照DataFrame索引的值升序或降序的方式重新排列数据,而按列值排序是指可以按照DataFrame某一列的值升序或降序的方式重新排列数据。利用sort_index函数可对索引进行排序,而利用sort_values函数可对值进行排序。1.按索引排序 按索引排序是指DataFrame按照索引进行排序,索引排序可以使用sort_index函数,sort_index函数的一般用法如下:sort_index(ascending,inplace) 其中,ascending表示排序方式,True为升序排列,False为降序排列,默认是True,即默认是升序排序。示例代码如下:importnumpyasnpimportpandasaspdarr=np.arange(1,10).reshape(3,3)data=pd.DataFrame(arr,columns=['a','b','c'])data['d']=[3,4,2]data=data.set_index('d')print("初始数据为:\n",data)data_sort_index_1=data.sort_index(inplace=False)print("按索引升序排序的结果为:\n",data_sort_index_1)data_sort_index_2=data.sort_index(ascending=False,inplace=False)print("按索引降序排序的结果为:\n",data_sort_index_2)输出结果如图4-*所示。图4-*按索引排序示例结果2.按列值排序按列值排序是DataFrame按照某一列的值进行排序,值排序序可以使用sort_values函数,sort_values函数的一般用法为:sort_values(by,ascending,inplace)其中,by表示表示按照某一列或几列得值进行排序。ascending表示排序方式,True为升序排列,False为降序排列,默认是True,即默认是升序排序。示例代码如下:data=data.reset_index()#取消用户自定义索引,恢复成自动索引data['e']=[2,3,2]data=data[['a','b','c','d','e']]#重新排列原来的列print("初始数据为:\n",data)data_sort=data.sort_values(by=['e','d'],ascending=[False,False])print("按e、d两列降序排序的结果为:\n",data_sort)输出结果如图4-*所示。图4-*按列排序示例结果【结果分析】按e、d两列降序排序时,即先按e列降序排序,再按d列降序排序。只有当e列的值相同时(都为2),才会再按d列的值排序。。二、数据排名在实际工作中,经常需要对数据进行排名,比如对客户的销售金额进行排名,查看重点客户名单。排名函数在很多数据分析软件都有,如Excel中的rank函数。而在pandas中,也有类似的rank函数,该函数可以对DataFrame按照某列进行排名,其一般用法如下:rank(method,ascending)其中,method表示重复数值排名的处理方法。average表示整个相同排名组中平均排名。min表示整个相同排名组中的最小排名。max表示整个相同排名组中的最大排名。ascending表示排名顺序,True表示升序排列,False表示降序排列,默认是True。如一组数据6、5、5、2,在降序的情况下,数值6排名第1,数值2排名第4,重复的数值5占据排名第2和第3。如果按照平均排名,两个数值5都是排名2.5;如果按照最小排名,两个数值5都是排名2;如果按照最大排名,两个数值5都是排名3。在利用rank函数对数据进行排名时,还有一点需要注意,就是在对某一列进行排名,需要对该列进行去空处理,否则会报错。示例代码如下:print("初始数据为:\n",data)data['e_rank_avg']=data['e'].rank(method='average',ascending=False)print("降序排名时按平均排名的结果:\n",data)data.drop(labels='e_rank_avg',axis=1,inplace=True)data['e_rank_min']=data['e'].rank(method='min',ascending=False)print("降序排名时按最小排名的结果:\n",data)data.drop(labels='e_rank_min',axis=1,inplace=True)data['e_rank_max']=data['e'].rank(method='max',ascending=False)print("降序排名时按最大排名的结果:\n",data)输出结果如图4-*所示。图4-*数据排名示例结果任务实训任务1:利用read_excel导入supermarket.xlsx(supermarket.xlsx存放在c:\data路径中)中的“销售统计”工作表(第1张工作表),导入时将“客户ID”列设为索引,将导入数据命名为data1,完成:(1)按索引升序排序,输出前5个数据。(2)按列进行排序,先按“折扣”列降序排序,再按照“折扣金额”升序排序,输出前5个数据。任务1(1)具体代码如下:pd.set_option('display.max_columns',None)pd.set_option('display.width',None)pd.set_option('display.unicode.east_asian_width',True)data1=pd.read_excel("c:\data\supermarket.xlsx",index_col='客户ID')print("导入的数据为:\n",data1.head())result_sort_1=data1.sort_index().head()print("按索引升序排序的结果为:\n",result_sort_1)输出结果如图4-*所示。图4-*任务1(1)输出结果任务1(2)具体代码如下:result_sort_2=data1.sort_values(by=['折扣','折扣金额'],ascending=[False,True]).head()print("先按'折扣'列降序排序再按照'折扣金额'升序排序的结果为:\n",result_sort_2)输出结果如图3-*所示。图4-*任务1(2)输出结果任务2:将任务1的结果data1重新命名为data2,在“销售金额”列降序排序的情况下,统计“数量”列的排名,“数量”列排名方式为降序,如果“数量”列数据出现重复,采用最小排名。具体代码如下:data2=data1data2=data2.sort_values(by='销售金额',ascending=False)data2['数量排名']=data2['数量'].rank(method='min',ascending=False)print("排序和排名处理结果为:\n",data2.head())输出结果如图4-*所示。图4-*任务2输出结果巩固训练利用read_csv导入c:\data\score.csv,完成:(1)将“area”列中的“江苏-苏州”替换为0,“江苏-盐城”替换为1,“江苏-连云
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 28056-2025余热锅炉技术规范
- 中国模具农机配件项目投资可行性研究报告
- 中国鳄鱼龟项目投资可行性研究报告
- 脂肪族聚胺酯丙烯酸酯行业深度研究报告
- 油密封座圈行业深度研究报告
- 准分子激光系统行业深度研究报告
- 中国纸塑自动成筒制袋机项目投资可行性研究报告
- 中国镂花机项目投资可行性研究报告
- 中国接动项目投资可行性研究报告
- 中国纸箱纸板包装项目投资可行性研究报告
- 《现代企业管理》期末考试复习题(附答案)
- 湖南省长沙市师大附中2025-2026学年高一上学期10月月考化学试题(原卷版)
- 南充市嘉陵城市发展集团有限公司2025年公开招聘工作人员(10人)笔试历年参考题库附带答案详解
- 叠山理水(课件)-2025-2026学年人教版(2024)初中美术八年级上册
- 堤防工程施工规范(2025版)
- 安全生产考核巡查办法全文
- 在全森林资源林政管理工作会议上的讲话
- Berg平衡量表
- 室外供热管道施工方案
- SMARO型自动络筒机常见故障分析及操作说明ppt课件
- 黑价联字前期收费(共7页)
评论
0/150
提交评论