欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列博客。
又到了学期的期末了,开始了每学期的监考工作。考试监考虽然是一件小事,但是如果因为某些失误而缺席,将会被认定为一次教学事故,后果非常严重,因此学校内每位老师都非常的重视。
学校每到期末的时候,都会发一份学校监考安排的Excel表格,今年也不例外。无奈由于我的系统是mac,安装了非正版的office软件,且打开数据量非常大的Excel文件速度变得非常慢,另外本人对Excel的操作实在是很糟糕,于是乎用python完成了简单的数据分析,最后发现效果还是非常不错的,摈弃了复杂的Excel可视化操作,完全采用python的方式来得到结果,并且得到了有意思的一些分析结果。
0 读入Excel文件
利用pandas读入监考安排的Excel文件,为下一步数据分析做准备。由于pandas在读取excel文件的时候依赖了xlrd库,因此需要先通过conda安装该库。
conda install xlrd
1 数据预处理
由于人工在编辑Excel文件的时候,会人为的出现一些空格等字符,因此需要对每一个字段进行去空格的预处理。
2 查询我的监考
通过python可以快速的查看到自己的监考信息,相比使用复杂的Excel操作,我更喜欢命令行的方式来操作。
在快速找到自己的监考安排后,我很想知道其他老师的监考是怎么样的?会不会比我少?还是比我多呢?
3 所有老师监考数量分布
此处代码较多,不方便贴出所有的代码,只是给出最终的分布。
横轴是本次期末每位老师监考的总场次,分别为1-5,最少的一场,最多的需要监考五场。纵轴是监考N场的老师的数量,如本学期只需要监考一场的老师有两位,两场的老师有23位,依次类推。
从分布来看,大多数老师期末监考还是安排在五场,行政岗位的老师平均在两场,当然还有一些老师的场次是比较少的。
4 课程考试分布
5 考场分布
横轴是一门课程需要的考场数量,纵轴是课程数量。如有20门课程只需要一个考场,34门课程需要两个考场,36门课程需要三个考场,以此类推。
其实课程的考场数量就是课程的班级,一门课程的班级越多,考场也就越多。从上图分布可以看出,大部分课程应该在两三个班,当然也存在一些课程班级特别多的,如《大学英语(4)》就达到了50个班,《大学英语(3)》有49个班,大学计算机的班级也是相当多的,如《大学计算机(非计算机专业)》班级数量有24个,数学类的课程班级也比较多,如线性代数达到了22个班。通识课、公共课的课程是所有专业的必修课,因此考场的分布也相当多,大部分专业课程的考场都集中在2~3个。
6 总结
本文通过python对某高校的监考安排做了分析,并得出教师监考场次的分布、课程分布和考场分布等情况。基于python的数据分析,相比于其他的可视化软件如Excel等具有无可比拟的优势。
领取专属 10元无门槛券
私享最新 技术干货