《Pandas数据处理》课件 6.2.2 按分数段绘制各班的人数占比_第1页
《Pandas数据处理》课件 6.2.2 按分数段绘制各班的人数占比_第2页
《Pandas数据处理》课件 6.2.2 按分数段绘制各班的人数占比_第3页
《Pandas数据处理》课件 6.2.2 按分数段绘制各班的人数占比_第4页
《Pandas数据处理》课件 6.2.2 按分数段绘制各班的人数占比_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

按分数段绘制各班的人数占比主讲人:邓利平重庆市九龙坡职业教育中心项目六 绘制图表绘制多个图表问题描述使用学生成绩数据(1_计算机专业成绩.xlsx),针对C语言成绩,统计各班学生在不及格学生、及格学生和优秀学生中所占的比例,并绘制饼图(pie)。表6.1.1学生专业课成绩表考号姓名性别班级C语言(70分)数据结构(70分)算法分析(60分)2022020419邱俊松男2019级计算机1班6753532022020437胡艳女2019级计算机1班6754522022020760孔航女2019级计算机2班6752542022020793黄莉女2019级计算机2班6455532022020772古瑞男2019级计算机2班616050.....................2022020088卿成男2019级计算机3班165132022020092欧金霞女2019级计算机3班106172022020799晏丽女2019级计算机2班79172022020440肖权利男2019级计算机1班85122022020430齐云瑞男2019级计算机1班000输出结果图6.2.4成绩段分班统计图题前思考在不同子图绘制各班成绩统计图。问题描述问题解答如何划分不及格、及格、优秀的分数段?

怎样对成绩执行分段操作?

如何统计班级中某分数段学生的数量?

按分数段绘制各班的人数占比。importpandasaspdimportpylabaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsegrade=pd.read_excel(r"D:\pydata\项目六\计算机专业成绩.xlsx")grade=grade.loc[:,['班级','C语言(70分)']]grade['C语言(70分)']=pd.cut(grade['C语言(70分)'],bins=[-1,42,56,71],labels=['不及格','及格','优秀'])res=pd.crosstab(index=grade['班级'],columns=grade['C语言(70分)']) res.plot.pie(subplots=True,figsize=(16,9),layout=(1,3),labels=["1班","2班","3班","4班"],colors=["r","g","b","c"],autopct="%.0f%%",fontsize=12)plt.show()程序代码按分数段绘制各班的人数占比。importpandasaspdimportpylabaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsegrade=pd.read_excel(r"D:\pydata\项目六\计算机专业成绩.xlsx")grade=grade.loc[:,['班级','C语言(70分)']]①grade['C语言(70分)']=pd.cut(grade['C语言(70分)'],bins=[-1,42,56,71],labels=['不及格','及格','优秀'])res=pd.crosstab(index=grade['班级'],columns=grade['C语言(70分)']) res.plot.pie(subplots=True,figsize=(16,9),layout=(1,3),labels=["1班","2班","3班","4班"],colors=["r","g","b","c"],autopct="%.0f%%",fontsize=12)plt.show()程序代码从数据表中取出“班级”和“C语言(70分)”两列数据按分数段绘制各班的人数占比。importpandasaspdimportpylabaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsegrade=pd.read_excel(r"D:\pydata\项目六\计算机专业成绩.xlsx")grade=grade.loc[:,['班级','C语言(70分)']]①grade['C语言(70分)']=pd.cut(grade['C语言(70分)'],bins=[-1,42,56,71],labels=['不及格','及格','优秀'])②res=pd.crosstab(index=grade['班级'],columns=grade['C语言(70分)']) res.plot.pie(subplots=True,figsize=(16,9),layout=(1,3),labels=["1班","2班","3班","4班"],colors=["r","g","b","c"],autopct="%.0f%%",fontsize=12)plt.show()程序代码cut()方法把一组数据分割成离散的区间。参数bins=[-1,42,56,71]和labels=['不及格','及格','优秀']表示将分数划分为三段,0~41分为不及格,42~55分为及格,56~70分为优秀。按分数段绘制各班的人数占比。importpandasaspdimportpylabaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsegrade=pd.read_excel(r"D:\pydata\项目六\计算机专业成绩.xlsx")grade=grade.loc[:,['班级','C语言(70分)']]①grade['C语言(70分)']=pd.cut(grade['C语言(70分)'],bins=[-1,42,56,71],labels=['不及格','及格','优秀'])②res=pd.crosstab(index=grade['班级'],columns=grade['C语言(70分)']) ③res.plot.pie(subplots=True,figsize=(16,9),layout=(1,3),labels=["1班","2班","3班","4班"],colors=["r","g","b","c"],autopct="%.0f%%",fontsize=12)plt.show()程序代码crosstab()交叉表操作,以班级为行索引,分数段(不及格、及格、优秀)为列索引统计人数。按分数段绘制各班的人数占比。importpandasaspdimportpylabaspltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsegrade=pd.read_excel(r"D:\pydata\项目六\计算机专业成绩.xlsx")grade=grade.loc[:,['班级','C语言(70分)']]①grade['C语言(70分)']=pd.cut(grade['C语言(70分)'],bins=[-1,42,56,71],labels=['不及格','及格','优秀'])②res=pd.crosstab(index=grade['班级'],columns=grade['C语言(70分)']) ③res.plot.pie(subplots=True,figsize=(16,9),layout=(1,3),labels=["1班","2班","3班","4班"],colors=["r","g","b","c"],autopct="%.0f%%",fontsize=12)④plt.show()程序代码DataFrame对象绘制饼图,subplots必须设置为True;layout设置布局为1行3列;labels替换行索引;colors设置扇面的颜色;fontsize设置字体大小;autopct表示自动显示百分比,"%.0f%%"为不保留小数。任务小结1.读取数据,提取出班级和C语言数据列2.数据分段操作cut(),将学生按成绩数据分段3.交叉表操作crosstab(),统计各班不同分数段人数4.设置subplots、layout参数,然

温馨提示

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

最新文档

评论

0/150

提交评论