简单的学生成绩数据分析案例
文章目录
- 题目要求
- 1. 建一个数据测试表
- 2. 编写程序
- 3. 效果展示
题目要求
学生成绩存储在Excel文件(如表9-1)中,本程序从Excel文件读取学生成绩,统计各个分数段(90分以上,8089分,7079分,60~69分,60分以下)学生人数,并用柱状图(如图9-1)展示学生成绩分布,同时计算出最高分、最低分、平均成绩、各分数段人数等分析指标。
1. 建一个数据测试表
随便建,最好各个分数区间都有,展示出来更直观,示例建表如下:
2. 编写程序
程序可分为两部分编写,一部分用于读取表格数据,拿到分数数据再求其他相关量就好做了,第二部分就是拿到第一部分的成绩列表,再进行具体的数据分析需求。
示例代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import xlrd
import matplotlib.pyplot as pltwb = xlrd.open_workbook('mark.xlsx')
sheet = wb.sheet_names()
sh = wb.sheet_by_name('Sheet1')
course_list = sh.row_values(0)
print(course_list[2:]) # ['physics', 'Python', 'math', 'english']
course = input('请输入需要展示的课程名:')
m = course_list.index(course)
col_list = sh.col_values(m)
print(col_list) # ['math', 95.0, 94.0, 93.0, 92.0]
score_list = col_list[1:]
print(score_list)
print(sum(score_list))
print('最高分:%s ' % max(score_list))
print('最低分:%s' % min(score_list))
print('平均分:%s' % (int(sum(score_list)) / len(score_list)))y = [0, 0, 0, 0, 0]
for score in score_list:if score >= 90:y[0] += 1elif score >= 80:y[1] += 1elif score >= 70:y[2] += 1elif score >= 60:y[3] += 1else:y[4] += 1
print('90分以上:',y[0])
print('80-90分:',y[1])
print('70-79分:',y[2])
print('60-69分:',y[3])
print('60分以下:',y[4])xl = ['90分以上', '80-90分', '70-79分', '60-69分', '60分以下']x = [1, 2, 3, 4, 5]
plt.xlabel('分数段')
plt.ylabel('人数')
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.xticks(x, xl)
recs = plt.bar(x=x, height=y, color='green', width=0.5)
plt.title(course + '成绩分析')
for rec in recs:height = rec.get_height()plt.text(rec.get_x() + rec.get_width() / 2.0, 1.03 * height, '%s' % float(height))plt.show()
3. 效果展示
简单的学生成绩数据分析案例相关推荐
- 一个简单的学生成绩管理软件(ODBC开发)
一个简单的学生成绩管理软件(ODBC开发) 下载本文所附源代码 程序运行效果截图: 前面我写过一篇<一个完善的ODBC数据库程序>,大家可能看到过,有鼓励,也有批评,但是所有这一切只有一个 ...
- c语言数组用户注册登入管理系统_学生成绩管理系统案例
最近可能是接近考试,有小伙伴微信私聊让找个学生成绩管理系统,今天发一下,比较简洁. 案例描述 案例要求模拟开发一个学生成绩管理系统,此系统具有以下功能: 添加学生信息,包括学号.姓名.语文成绩.数学成 ...
- 简单的学生成绩管理系统
简单的学生成绩管理系统 写一个科目类,包含科目名称,科目分数2个数据成员,一个衡量是否及格的成员函数,用其构造函数为科目对象赋值.写一个学生类,含学号,姓名2个数据成员,以及一个成绩对象指针成员(指向 ...
- java简单学生成绩系统_JAVA 实现简单的学生成绩管理系统
一.实验目的 1.掌握java的类与对象的基本概念: 2.掌握简单的信息管理系统的设计与实现. 二.实验环境 实验建议在安装了以下软件的计算机上完成: 1. Windows xp/win7 ...
- 用计算机怎么做成绩表,利用Excel制作一个简单的学生成绩表.doc
利用Excel制作一个简单的学生成绩表 教学设计表 学科 信息技术 授课年级 八年级 学校 教师姓名 章节名称初中信息技术八年级上册第7课(第1节)计划学时1学时学习内容分析学习Excel的基础知识, ...
- 第一篇博客——C语言实现简单的学生成绩管理系统
C语言简单实现学生成绩管理系统 一.前言 首先,要写一个管理系统必须要先搭出一个框架来,即明确自己要实现哪些功能,将每个功能都写陈一个函数,然后再去编写实现各个功能的函数,最后再思考各个函数之间的相互 ...
- 简单的学生成绩查询web系统
实验内容:基于 JSP+Mysql 做一个简单的学生成绩查询web系统. 文章目录 一.Java Web 1. B/S系统 2.主要框架 3.servlet 4.Web服务器 Tomcat 5.JSP ...
- 高一年级学生成绩表案例_便宜的教科书,高年级学生可以更好地获得
高一年级学生成绩表案例 最近在德克萨斯Linux节上 , Ross Reedstrom向我介绍了OpenStax . 我听说过很多开放式教育资源(OER),但不是特别的一种. 当然,这是我现在要遵循的 ...
- JSP+Mysql 做一个简单的学生成绩查询web系统
IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 (2)JdK的安装 Tomcat的下载 ...
- Python:结合列表和字典,编写一个简单的学生成绩管理系统
本次主要使用新学的列表和字典,结合定义函数等知识点,成功编写了一个简单的学生成绩管理系统.实现了在系统内使用学生的姓名或者学号,即可实现显示.添加.删除.修改.查找(增删改查).成绩排 ...
最新文章
- 【9915】乘积最大
- java线程 yield_Java线程中yield与join方法的区别
- mysql存储过程queue_mysql – 在Sequelize中调用输入/输出类型存储过程
- 注册刷短信验证码的问题
- C++内联函数(inline function)
- Powershell 最大值堆栈实现
- Unity手游之路十自动寻路Navmesh之跳跃,攀爬,斜坡
- 第八届“数学、计算机与生命科学交叉研究” 青年学者论坛--特别云论坛
- Java常用开发工具推荐
- 所有程序员都应该知道的 6 个软件开发步骤
- Velocity的使用
- ue4设置图片大小_UE4 相机拍照功能(图片保存)
- [SSL_CHX][2022-02-23]进制转换
- 微信删除的聊天记录怎么恢复,教你两个方法
- Python netCDF4
- 红米手机5A完整卡刷开发版获取Root超级权限的流程
- 企业级监控系统概述、监控类型及发展趋势
- 理解色彩与相机内图像处理流程——流程详解
- linux之排序sort命令详解
- 软考证书值得考吗?怎么考?