《Pandas数据处理》课件 5.1.2 按年级统计各参赛项目男女生人数_第1页
《Pandas数据处理》课件 5.1.2 按年级统计各参赛项目男女生人数_第2页
《Pandas数据处理》课件 5.1.2 按年级统计各参赛项目男女生人数_第3页
《Pandas数据处理》课件 5.1.2 按年级统计各参赛项目男女生人数_第4页
《Pandas数据处理》课件 5.1.2 按年级统计各参赛项目男女生人数_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

查询学生成绩主讲人:岑远红重庆市九龙坡职业教育中心问题描述学校期末考试后,会提供成绩查询服务,但是不同专业同学的考试科目不一样,不能将他们放到一张表集中查询,为了解决这个问题,我们需要对日常的成绩表做一下调整。表5.1.10学生专业课成绩表姓名C语言(70分)数据结构(70分)算法分析(60分)邱俊松675353胡艳675452孔航675254黄莉645553古瑞616050............卿成16513欧金霞10617晏丽7917肖权利8512齐云瑞000表5.1.11加工后的学生专业课成绩表姓名学科

邱俊松C语言(70分)67数据结构(70分)53算法分析(60分)53胡艳C语言(70分)67数据结构(70分)54………肖权利数据结构(70分)5算法分析(60分)12齐云瑞C语言(70分)0数据结构(70分)0算法分析(60分)0输出结果表5.1.12学生成绩查询结果

学科成绩

C语言(70分)67数据结构(70分)54算法分析(60分)52题前思考表5.1.4问题分析问题描述问题解答怎样把“横”着的数据“学科”“竖”起来?收折操作实现把“横”着的数据“学科”“竖”起来。怎样根据索引查询学生成绩?使用数据框的loc属性定位学生成绩实现查询功能。importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码将“姓名”列设置为数据框的索引。程序代码表5.1.14将姓名设置为索引

姓名C语言(70分)

数据结构(70分)

算法分析(60分)

邱俊松675353胡艳675452孔航675254黄莉645553古瑞616050............卿成16513欧金霞10617晏丽7917肖权利8512齐云瑞000importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码将列索引命名为“学科”。程序代码表5.1.15将姓名设置为索引学科姓名C语言(70分)

数据结构(70分)

算法分析(60分)

邱俊松675353胡艳675452孔航675254黄莉645553古瑞616050............卿成16513欧金霞10617晏丽7917肖权利8512齐云瑞000importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码调用数据框对象grade的stack()方法“收折”最后一级列索引“学科”,将使数据框变成一个多级索引的序列。程序代码表5.1.16grade收折之后形成的序列姓名学科

邱俊松C语言(70分)67数据结构(70分)53算法分析(60分)53胡艳C语言(70分)67数据结构(70分)54………肖权利数据结构(70分)5算法分析(60分)12齐云瑞C语言(70分)0数据结构(70分)0算法分析(60分)0数据框的索引为多级索引:MultiIndex([('邱俊松',

'C语言(70分)'),

('邱俊松','数据结构(70分)'),

('邱俊松','算法分析(60分)'),

...

('肖权利','算法分析(60分)'),

('齐云瑞',

'C语言(70分)'),

('齐云瑞','数据结构(70分)'),

('齐云瑞','算法分析(60分)')],

names=['姓名','学科'],length=504)importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码将上一步得到的序列转换为数据框。程序代码表5.1.17序列转换成的数据框

姓名

学科0

邱俊松C语言(70分)67数据结构(70分)53算法分析(60分)53胡艳C语言(70分)67数据结构(70分)54.........肖权利数据结构(70分)5算法分析(60分)12齐云瑞C语言(70分)0数据结构(70分)0算法分析(60分)0importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码将上一步得到的序列转换为数据框。程序代码表5.1.18为列命名为“成绩”后结果

姓名

学科成绩邱俊松C语言(70分)67数据结构(70分)53算法分析(60分)53胡艳C语言(70分)67数据结构(70分)54.........肖权利数据结构(70分)5算法分析(60分)12齐云瑞C语言(70分)0数据结构(70分)0算法分析(60分)0importpandasaspdgrade=pd.read_excel(r"D:\pydata\项目五\计算机专业成绩.xlsx")grade=grade.loc[:,['姓名','C语言(70分)','数据结构(70分)','算法分析(60分)']]grade.set_index('姓名',inplace=True)①='学科'②grade=grade.stack()③grade=grade.to_frame()④grade.columns=['成绩']⑤name=input()ifnameingrade.index:

print(grade.loc[name])⑥else:print('学生姓名错误!')程序代码根据输入的姓名查询成绩。1.通过DataFrame.set_index()方法将“姓名”列设置为数据框的索引。2.通过DataF属性将列索引命名为“学科”。3.调用DataFrame.stack()方法“收折”最后一级列索引“学科”,将使数据框变成一个多级索引的序列。4.调用Series.to_frame()方法将序列转换为数据框。5.访问DataFrame.loc属性根据输入的姓名查询成绩。一展身手现在要求对全校各专业学生分班计算各专业课的平均分。因为各专业的专业课程不同,所以必须要先改变各专业的成绩表的结构,将成绩列收折到行索引,然后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论