👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】
目录
- 【python】python学生成绩数据分析可视化(源码+数据+论文)【独一无二】
- 一、设计要求
- 二、数据分析
一、设计要求
1.分析学生本人和班级整体的学习水平,为自己以及班级提供提高学习成绩的建议。
2. 构建学生本人和班级整体的学习细分情况,为老师判定学生学习情况提供参考意见。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
-
金融6学生名单.xlsx
包含学生的基本信息,如姓名、学号、院系、专业、班级和学校代码等。学号(学号/工号)是学生的唯一标识符,将用于与“金融6综合成绩.xlsx”中的数据进行匹配。该文件确保了每个学生在成绩分析过程中都有明确的身份标识,便于进行数据合并和分析。 -
金融6综合成绩.xlsx
包含学生的学号以及对应的平时成绩和综合成绩。成绩数据包括课程音视频成绩(占10%)、章节测验成绩(占40%)、章节学习次数(占10%)、作业成绩(占30%)和考试成绩(占10%)。每个学生的学号在“金融6学生名单.xlsx”中都能找到对应的记录。通过这些详细的成绩数据,可以对学生的学习情况进行全面分析和评估。
二、数据分析
- 学生个体成绩分析:
我们统计了每位学生的平均成绩、最高成绩和最低成绩,以帮助学生了解自己的学习状况。以学生郭帅为例,我们计算出了她的平均成绩为31.98分,最高成绩为31.98分,最低成绩为31.98分。这些指标反映了学生在整个学期中的表现。
本人平均成绩: 23.07, 最高成绩: 23.07, 最低成绩: 23.07
班级平均成绩: 23.51, 最高成绩: 35.07, 最低成绩: 3.64
为了全面了解班级整体的学习情况,我们计算了班级的平均成绩(23.26分)、最高成绩(31.98分)和最低成绩(19.14分)。这些数据为教师提供了班级整体的学习效果反馈,有助于优化教学方法。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
# 1. 班级成绩Top10的柱状图
top10_students = merged_data.nlargest(10, '综合成绩')
plt.figure(figsize=(10, 6))
plt.bar(top10_students['学生姓名'], top10_students['综合成绩'])
plt.xlabel('学生姓名')
plt.ylabel('综合成绩')
plt.title('班级成绩Top10')
plt.xticks(rotation=45)
plt.show()
我们为每个学生绘制了个人成绩的趋势图,展示其在课程音视频、章节测验、章节学习次数、作业和考试成绩等各项评估中的具体表现。趋势图帮助学生和教师了解学生在不同评估项目上的表现及其变化趋势,从而识别出学生的优势和薄弱环节。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
我们绘制了班级不同分数段学生人数分布的饼图。饼图清晰展示了班级学生在不同成绩区间的分布情况,这些信息对于教师了解班级成绩的总体情况及制定教学策略具有重要意义。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
散点图展示了课程音视频成绩与综合成绩之间的关系。通过散点图,我们可以观察到这两个评估项目之间的相关性,帮助教师了解不同教学方式对学生整体成绩的影响。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
我们使用箱线图展示了班级综合成绩的分布情况。箱线图能够直观地显示出成绩的中位数、四分位数和异常值,有助于教师了解班级成绩的离散程度和整体分布。
plt.figure(figsize=(10, 6))
plt.boxplot(merged_data['综合成绩'], vert=True, patch_artist=True)
plt.xlabel('班级')
plt.ylabel('综合成绩')
plt.title('班级综合成绩分布箱线图')
plt.show()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈
雷达图展示了某个学生在各个评估项目上的表现。通过雷达图,学生和教师可以全面了解学生在不同评估项目上的综合表现,识别出学生的优势和需要改进的领域。
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.plot(angles, personal_data, 'o-', linewidth=2)
ax.fill(angles, personal_data, alpha=0.25)
ax.set_yticklabels([])
ax.set_xticks(angles[:-1])
ax.set_xticklabels(labels)
ax.set_title('郭帅的雷达图')
plt.show()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “学成” 获取。👈👈👈