171 KiB
Raw Blame History

None <html lang="en"> <head> </head>
In [1]:
import matplotlib.pyplot as plt
import pandas as pd
In [2]:
# 设置中文字体macOS 上常见中文字体)
from matplotlib import font_manager as fm
import matplotlib as mpl
font_path = '/System/Library/Fonts/STHeiti Medium.ttc'
my_font = fm.FontProperties(fname=font_path)
mpl.rcParams['font.family'] = my_font.get_name()
mpl.rcParams['axes.unicode_minus'] = False
In [3]:
data = pd.read_excel('data2/student_grade.xlsx')
data.head(3)
Out[3]:
性别 自我效能感 考试课程准备情况 数学成绩 阅读成绩 写作成绩 总成绩
0 未完成 72 72 74 218
1 完成 69 90 88 247
2 未完成 90 95 93 278
In [4]:
def level_parse(x):
    if x >= 0 and x < 150:
        return "不及格"
    elif x >= 150 and x < 200:
        return "及格"
    elif x >= 200 and x < 250:
        return "良好"
    else:
        return "优秀"
In [5]:
data['level'] = data['总成绩'].apply(lambda x:level_parse(x))
data.head(3)
Out[5]:
性别 自我效能感 考试课程准备情况 数学成绩 阅读成绩 写作成绩 总成绩 level
0 未完成 72 72 74 218 良好
1 完成 69 90 88 247 良好
2 未完成 90 95 93 278 优秀
In [6]:
grade_level = list(data['level'])
grade_level
Out[6]:
['良好',
 '良好',
 '优秀',
 '不及格',
 '良好',
 '良好',
 '优秀',
 '不及格',
 '及格',
 '不及格',
 '及格',
 '不及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '优秀',
 '不及格',
 '不及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '不及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '优秀',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '不及格',
 '良好',
 '良好',
 '不及格',
 '优秀',
 '及格',
 '及格',
 '不及格',
 '良好',
 '不及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '不及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '及格',
 '不及格',
 '及格',
 '不及格',
 '不及格',
 '不及格',
 '良好',
 '良好',
 '及格',
 '不及格',
 '不及格',
 '及格',
 '及格',
 '不及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '不及格',
 '良好',
 '不及格',
 '优秀',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '及格',
 '优秀',
 '及格',
 '优秀',
 '及格',
 '及格',
 '良好',
 '优秀',
 '及格',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '优秀',
 '优秀',
 '优秀',
 '及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '不及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '不及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '不及格',
 '良好',
 '不及格',
 '良好',
 '良好',
 '良好',
 '优秀',
 '及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '优秀',
 '优秀',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '优秀',
 '良好',
 '良好',
 '不及格',
 '优秀',
 '及格',
 '良好',
 '及格',
 '优秀',
 '良好',
 '及格',
 '不及格',
 '良好',
 '不及格',
 '及格',
 '良好',
 '及格',
 '不及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '不及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '不及格',
 '及格',
 '及格',
 '优秀',
 '良好',
 '优秀',
 '不及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '不及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '不及格',
 '优秀',
 '良好',
 '不及格',
 '良好',
 '良好',
 '优秀',
 '良好',
 '及格',
 '不及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '优秀',
 '及格',
 '良好',
 '及格',
 '不及格',
 '不及格',
 '良好',
 '良好',
 '不及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '不及格',
 '良好',
 '不及格',
 '优秀',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '优秀',
 '不及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '不及格',
 '不及格',
 '优秀',
 '及格',
 '不及格',
 '良好',
 '不及格',
 '及格',
 '不及格',
 '及格',
 '良好',
 '优秀',
 '及格',
 '良好',
 '不及格',
 '不及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '优秀',
 '及格',
 '良好',
 '及格',
 '不及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '优秀',
 '优秀',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '不及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '不及格',
 '及格',
 '优秀',
 '及格',
 '及格',
 '及格',
 '不及格',
 '及格',
 '优秀',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '优秀',
 '及格',
 '及格',
 '良好',
 '不及格',
 '及格',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '不及格',
 '良好',
 '良好',
 '优秀',
 '良好',
 '及格',
 '及格',
 '不及格',
 '优秀',
 '及格',
 '优秀',
 '良好',
 '及格',
 '及格',
 '良好',
 '优秀',
 '及格',
 '优秀',
 '不及格',
 '良好',
 '优秀',
 '良好',
 '优秀',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '优秀',
 '优秀',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '优秀',
 '及格',
 '优秀',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '不及格',
 '不及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '良好',
 '优秀',
 '及格',
 '良好',
 '优秀',
 '良好',
 '及格',
 '良好',
 '良好',
 '优秀',
 '不及格',
 '良好',
 '不及格',
 '不及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '不及格',
 '优秀',
 '良好',
 '及格',
 '良好',
 '良好',
 '优秀',
 '及格',
 '及格',
 '良好',
 '不及格',
 '及格',
 '优秀',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '不及格',
 '良好',
 '及格',
 '优秀',
 '良好',
 '优秀',
 '及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '优秀',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '良好',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '优秀',
 '及格',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '优秀',
 '良好',
 '良好',
 '不及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '不及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '优秀',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '优秀',
 '及格',
 '及格',
 '及格',
 '不及格',
 '及格',
 '优秀',
 '及格',
 '优秀',
 '优秀',
 '优秀',
 '良好',
 '良好',
 '优秀',
 '良好',
 '优秀',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '不及格',
 '不及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '不及格',
 '良好',
 '不及格',
 '优秀',
 '不及格',
 '及格',
 '及格',
 '优秀',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '良好',
 '优秀',
 '及格',
 '优秀',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '不及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '不及格',
 '良好',
 '优秀',
 '及格',
 '优秀',
 '良好',
 '及格',
 '优秀',
 '不及格',
 '良好',
 '不及格',
 '及格',
 '及格',
 '及格',
 '及格',
 '良好',
 '优秀',
 '不及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '优秀',
 '良好',
 '良好',
 '良好',
 '不及格',
 '良好',
 '及格',
 '不及格',
 '不及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '及格',
 '良好',
 '良好',
 '优秀',
 '优秀',
 '优秀',
 '及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '不及格',
 '及格',
 '不及格',
 '良好',
 '及格',
 '优秀',
 '优秀',
 '及格',
 '及格',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '不及格',
 '良好',
 '及格',
 '优秀',
 '不及格',
 '良好',
 '优秀',
 '优秀',
 '及格',
 '不及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '及格',
 '良好',
 '良好',
 '不及格',
 '及格',
 '良好',
 '优秀',
 '及格',
 '良好',
 '不及格',
 '优秀',
 '优秀',
 '及格',
 '良好',
 '及格',
 '不及格',
 '不及格',
 '良好',
 '及格',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '优秀',
 '良好',
 '良好',
 '及格',
 '优秀',
 '良好',
 '良好',
 '不及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '优秀',
 '及格',
 '良好',
 '优秀',
 '良好',
 '不及格',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '及格',
 '不及格',
 '及格',
 '良好',
 '及格',
 '良好',
 '良好',
 '优秀',
 '及格',
 '及格',
 '及格',
 '优秀',
 '良好',
 '良好',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '良好',
 '及格',
 '优秀',
 '优秀',
 '及格',
 '良好',
 '及格',
 '及格',
 '优秀',
 '良好',
 '及格',
 '良好',
 '及格',
 '及格',
 '良好',
 '良好',
 '优秀',
 '良好',
 '及格',
 '及格',
 '及格',
 '良好',
 '及格',
 '及格',
 '不及格',
 '优秀',
 '不及格',
 '良好',
 '优秀',
 '优秀',
 '良好',
 '及格',
 '及格',
 '良好',
 '不及格',
 '良好',
 '良好',
 '良好',
 '良好',
 '良好',
 '及格',
 '优秀',
 '及格',
 '及格',
 '良好',
 '良好']
In [7]:
dic = dict()
for i in grade_level:
    if i in dic:
        dic[i] +=  1
    else:
        dic[i] = 1
In [8]:
dic
Out[8]:
{'良好': 417, '优秀': 139, '不及格': 103, '及格': 341}
In [9]:
explode = [0.01,0.01,0.01,0.01]
plt.figure(figsize=(2,2),dpi=300)
plt.pie(dic.values(),
        explode=explode,
        labels=dic.keys(),
        autopct='%1.2f%%',
        textprops={'fontsize': 6})
plt.title('学生考试总成绩分布饼图',fontsize=6)
plt.show()
No description has been provided for this image
In [ ]:
 
In [10]:
grade_single = [list(data['数学成绩']),list(data['阅读成绩']),list(data['写作成绩'])]
grade_single
Out[10]:
[[72,
  69,
  90,
  47,
  76,
  71,
  88,
  40,
  64,
  38,
  58,
  40,
  65,
  78,
  50,
  69,
  88,
  18,
  46,
  54,
  66,
  65,
  44,
  69,
  74,
  73,
  69,
  67,
  70,
  62,
  69,
  63,
  56,
  40,
  97,
  81,
  74,
  50,
  75,
  57,
  55,
  58,
  53,
  59,
  50,
  65,
  55,
  66,
  57,
  82,
  53,
  77,
  53,
  88,
  71,
  33,
  82,
  52,
  58,
  0,
  79,
  39,
  62,
  69,
  59,
  67,
  45,
  60,
  61,
  39,
  58,
  63,
  41,
  61,
  49,
  44,
  30,
  80,
  61,
  62,
  47,
  49,
  50,
  72,
  42,
  73,
  76,
  71,
  58,
  73,
  65,
  27,
  71,
  43,
  79,
  78,
  65,
  63,
  58,
  65,
  79,
  68,
  85,
  60,
  98,
  58,
  87,
  66,
  52,
  70,
  77,
  62,
  54,
  51,
  99,
  84,
  75,
  78,
  51,
  55,
  79,
  91,
  88,
  63,
  83,
  87,
  72,
  65,
  82,
  51,
  89,
  53,
  87,
  75,
  74,
  58,
  51,
  70,
  59,
  71,
  76,
  59,
  42,
  57,
  88,
  22,
  88,
  73,
  68,
  100,
  62,
  77,
  59,
  54,
  62,
  70,
  66,
  60,
  61,
  66,
  82,
  75,
  49,
  52,
  81,
  96,
  53,
  58,
  68,
  67,
  72,
  94,
  79,
  63,
  43,
  81,
  46,
  71,
  52,
  97,
  62,
  46,
  50,
  65,
  45,
  65,
  80,
  62,
  48,
  77,
  66,
  76,
  62,
  77,
  69,
  61,
  59,
  55,
  45,
  78,
  67,
  65,
  69,
  57,
  59,
  74,
  82,
  81,
  74,
  58,
  80,
  35,
  42,
  60,
  87,
  84,
  83,
  34,
  66,
  61,
  56,
  87,
  55,
  86,
  52,
  45,
  72,
  57,
  68,
  88,
  76,
  46,
  67,
  92,
  83,
  80,
  63,
  64,
  54,
  84,
  73,
  80,
  56,
  59,
  75,
  85,
  89,
  58,
  65,
  68,
  47,
  71,
  60,
  80,
  54,
  62,
  64,
  78,
  70,
  65,
  64,
  79,
  44,
  99,
  76,
  59,
  63,
  69,
  88,
  71,
  69,
  58,
  47,
  65,
  88,
  83,
  85,
  59,
  65,
  73,
  53,
  45,
  73,
  70,
  37,
  81,
  97,
  67,
  88,
  77,
  76,
  86,
  63,
  65,
  78,
  67,
  46,
  71,
  40,
  90,
  81,
  56,
  67,
  80,
  74,
  69,
  99,
  51,
  53,
  49,
  73,
  66,
  67,
  68,
  59,
  71,
  77,
  83,
  63,
  56,
  67,
  75,
  71,
  43,
  41,
  82,
  61,
  28,
  82,
  41,
  71,
  47,
  62,
  90,
  83,
  61,
  76,
  49,
  24,
  35,
  58,
  61,
  69,
  67,
  79,
  72,
  62,
  77,
  75,
  87,
  52,
  66,
  63,
  46,
  59,
  61,
  63,
  42,
  59,
  80,
  58,
  85,
  52,
  27,
  59,
  49,
  69,
  61,
  44,
  73,
  84,
  45,
  74,
  82,
  59,
  46,
  80,
  85,
  71,
  66,
  80,
  87,
  79,
  38,
  38,
  67,
  64,
  57,
  62,
  73,
  73,
  77,
  76,
  57,
  65,
  48,
  50,
  85,
  74,
  60,
  59,
  53,
  49,
  88,
  54,
  63,
  65,
  82,
  52,
  87,
  70,
  84,
  71,
  63,
  51,
  84,
  71,
  74,
  68,
  57,
  82,
  57,
  47,
  59,
  41,
  62,
  86,
  69,
  65,
  68,
  64,
  61,
  61,
  47,
  73,
  50,
  75,
  75,
  70,
  89,
  67,
  78,
  59,
  73,
  79,
  67,
  69,
  86,
  47,
  81,
  64,
  100,
  65,
  65,
  53,
  37,
  79,
  53,
  100,
  72,
  53,
  54,
  71,
  77,
  75,
  84,
  26,
  72,
  77,
  91,
  83,
  63,
  68,
  59,
  90,
  71,
  76,
  80,
  55,
  76,
  73,
  52,
  68,
  59,
  49,
  70,
  61,
  60,
  64,
  79,
  65,
  64,
  83,
  81,
  54,
  68,
  54,
  59,
  66,
  76,
  74,
  94,
  63,
  95,
  40,
  82,
  68,
  55,
  79,
  86,
  76,
  64,
  62,
  54,
  77,
  76,
  74,
  66,
  66,
  67,
  71,
  91,
  69,
  54,
  53,
  68,
  56,
  36,
  29,
  62,
  68,
  47,
  62,
  79,
  73,
  66,
  51,
  51,
  85,
  97,
  75,
  79,
  81,
  82,
  64,
  78,
  92,
  72,
  62,
  79,
  79,
  87,
  40,
  77,
  53,
  32,
  55,
  61,
  53,
  73,
  74,
  63,
  96,
  63,
  48,
  48,
  92,
  61,
  63,
  68,
  71,
  91,
  53,
  50,
  74,
  40,
  61,
  81,
  48,
  53,
  81,
  77,
  63,
  73,
  69,
  65,
  55,
  44,
  54,
  48,
  58,
  71,
  68,
  74,
  92,
  56,
  30,
  53,
  69,
  65,
  54,
  29,
  76,
  60,
  84,
  75,
  85,
  40,
  61,
  58,
  69,
  58,
  94,
  65,
  82,
  60,
  37,
  88,
  95,
  65,
  35,
  62,
  58,
  100,
  61,
  100,
  69,
  61,
  49,
  44,
  67,
  79,
  66,
  75,
  84,
  71,
  67,
  80,
  86,
  76,
  41,
  74,
  72,
  74,
  70,
  65,
  59,
  64,
  50,
  69,
  51,
  68,
  85,
  65,
  73,
  62,
  77,
  69,
  43,
  90,
  74,
  73,
  55,
  65,
  80,
  50,
  63,
  77,
  73,
  81,
  66,
  52,
  69,
  65,
  69,
  50,
  73,
  70,
  81,
  63,
  67,
  60,
  62,
  29,
  62,
  94,
  85,
  77,
  53,
  93,
  49,
  73,
  66,
  77,
  49,
  79,
  75,
  59,
  57,
  66,
  79,
  57,
  87,
  63,
  59,
  62,
  46,
  66,
  89,
  42,
  93,
  80,
  98,
  81,
  60,
  76,
  73,
  96,
  76,
  91,
  62,
  55,
  74,
  50,
  47,
  81,
  65,
  68,
  73,
  53,
  68,
  55,
  87,
  55,
  53,
  67,
  92,
  53,
  81,
  61,
  80,
  37,
  81,
  59,
  55,
  72,
  69,
  69,
  50,
  87,
  71,
  68,
  79,
  77,
  58,
  84,
  55,
  70,
  52,
  69,
  53,
  48,
  78,
  62,
  60,
  74,
  58,
  76,
  68,
  58,
  52,
  75,
  52,
  62,
  66,
  49,
  66,
  35,
  72,
  94,
  46,
  77,
  76,
  52,
  91,
  32,
  72,
  19,
  68,
  52,
  48,
  60,
  66,
  89,
  42,
  57,
  70,
  70,
  69,
  52,
  67,
  76,
  87,
  82,
  73,
  75,
  64,
  41,
  90,
  59,
  51,
  45,
  54,
  87,
  72,
  94,
  45,
  61,
  60,
  77,
  85,
  78,
  49,
  71,
  48,
  62,
  56,
  65,
  69,
  68,
  61,
  74,
  64,
  77,
  58,
  60,
  73,
  75,
  58,
  66,
  39,
  64,
  23,
  74,
  40,
  90,
  91,
  64,
  59,
  80,
  71,
  61,
  87,
  82,
  62,
  97,
  75,
  65,
  52,
  87,
  53,
  81,
  39,
  71,
  97,
  82,
  59,
  61,
  78,
  49,
  59,
  70,
  82,
  90,
  43,
  80,
  81,
  57,
  59,
  64,
  63,
  71,
  64,
  55,
  51,
  62,
  93,
  54,
  69,
  44,
  86,
  85,
  50,
  88,
  59,
  32,
  36,
  63,
  67,
  65,
  85,
  73,
  34,
  93,
  67,
  88,
  57,
  79,
  67,
  70,
  50,
  69,
  52,
  47,
  46,
  68,
  100,
  44,
  57,
  91,
  69,
  35,
  72,
  54,
  74,
  74,
  64,
  65,
  46,
  48,
  67,
  62,
  61,
  70,
  98,
  70,
  67,
  57,
  85,
  77,
  72,
  78,
  81,
  61,
  58,
  54,
  82,
  49,
  49,
  57,
  94,
  75,
  74,
  58,
  62,
  72,
  84,
  92,
  45,
  75,
  56,
  48,
  100,
  65,
  72,
  62,
  66,
  63,
  68,
  75,
  89,
  78,
  53,
  49,
  54,
  64,
  60,
  62,
  55,
  91,
  8,
  81,
  79,
  78,
  74,
  57,
  40,
  81,
  44,
  67,
  86,
  65,
  55,
  62,
  63,
  88,
  62,
  59,
  68,
  77],
 [72,
  90,
  95,
  57,
  78,
  83,
  95,
  43,
  64,
  60,
  54,
  52,
  81,
  72,
  53,
  75,
  89,
  32,
  42,
  58,
  69,
  75,
  54,
  73,
  71,
  74,
  54,
  69,
  70,
  70,
  74,
  65,
  72,
  42,
  87,
  81,
  81,
  64,
  90,
  56,
  61,
  73,
  58,
  65,
  56,
  54,
  65,
  71,
  74,
  84,
  55,
  69,
  44,
  78,
  84,
  41,
  85,
  55,
  59,
  17,
  74,
  39,
  61,
  80,
  58,
  64,
  37,
  72,
  58,
  64,
  63,
  55,
  51,
  57,
  49,
  41,
  26,
  78,
  74,
  68,
  49,
  45,
  47,
  64,
  39,
  80,
  83,
  71,
  70,
  86,
  72,
  34,
  79,
  45,
  86,
  81,
  66,
  72,
  67,
  67,
  67,
  74,
  91,
  44,
  86,
  67,
  100,
  63,
  76,
  64,
  89,
  55,
  53,
  58,
  100,
  77,
  85,
  82,
  63,
  69,
  92,
  89,
  93,
  57,
  80,
  95,
  68,
  77,
  82,
  49,
  84,
  37,
  74,
  81,
  79,
  55,
  54,
  55,
  66,
  61,
  72,
  62,
  55,
  43,
  73,
  39,
  84,
  68,
  75,
  100,
  67,
  67,
  70,
  49,
  67,
  89,
  74,
  60,
  86,
  62,
  78,
  88,
  53,
  53,
  92,
  100,
  51,
  76,
  83,
  75,
  73,
  88,
  86,
  67,
  51,
  91,
  54,
  77,
  70,
  100,
  68,
  64,
  50,
  69,
  52,
  67,
  76,
  66,
  52,
  88,
  65,
  83,
  64,
  62,
  84,
  55,
  69,
  56,
  53,
  79,
  84,
  81,
  77,
  69,
  41,
  71,
  62,
  80,
  81,
  61,
  79,
  28,
  62,
  51,
  91,
  83,
  86,
  42,
  77,
  56,
  68,
  85,
  65,
  80,
  66,
  56,
  72,
  50,
  72,
  95,
  64,
  43,
  86,
  87,
  82,
  75,
  66,
  60,
  52,
  80,
  68,
  83,
  52,
  51,
  74,
  76,
  76,
  70,
  64,
  60,
  49,
  83,
  70,
  80,
  52,
  73,
  73,
  77,
  75,
  81,
  79,
  79,
  50,
  93,
  73,
  42,
  75,
  72,
  92,
  76,
  63,
  49,
  53,
  70,
  85,
  78,
  92,
  63,
  86,
  56,
  52,
  48,
  79,
  78,
  46,
  82,
  82,
  89,
  75,
  76,
  70,
  73,
  60,
  73,
  77,
  62,
  41,
  74,
  46,
  87,
  78,
  54,
  84,
  76,
  75,
  67,
  87,
  52,
  71,
  57,
  76,
  60,
  61,
  67,
  64,
  66,
  82,
  72,
  71,
  65,
  79,
  86,
  81,
  53,
  46,
  90,
  61,
  23,
  75,
  55,
  60,
  37,
  56,
  78,
  93,
  68,
  70,
  51,
  38,
  55,
  61,
  73,
  76,
  72,
  73,
  80,
  61,
  94,
  74,
  74,
  65,
  57,
  78,
  58,
  71,
  72,
  61,
  66,
  62,
  90,
  62,
  84,
  58,
  34,
  60,
  58,
  58,
  66,
  64,
  84,
  77,
  73,
  74,
  97,
  70,
  43,
  90,
  95,
  83,
  64,
  86,
  100,
  81,
  49,
  43,
  76,
  73,
  78,
  64,
  70,
  67,
  68,
  67,
  54,
  74,
  45,
  67,
  89,
  63,
  59,
  54,
  43,
  65,
  99,
  59,
  73,
  65,
  80,
  57,
  84,
  71,
  83,
  66,
  67,
  72,
  73,
  74,
  73,
  59,
  56,
  93,
  58,
  58,
  85,
  39,
  67,
  83,
  71,
  59,
  63,
  66,
  72,
  56,
  59,
  66,
  48,
  68,
  66,
  56,
  88,
  81,
  81,
  73,
  83,
  82,
  74,
  66,
  81,
  46,
  73,
  85,
  92,
  77,
  58,
  61,
  56,
  89,
  54,
  100,
  65,
  58,
  54,
  70,
  90,
  58,
  87,
  31,
  67,
  88,
  74,
  85,
  69,
  86,
  67,
  90,
  76,
  62,
  68,
  64,
  71,
  71,
  59,
  68,
  52,
  52,
  74,
  47,
  75,
  53,
  82,
  85,
  64,
  83,
  88,
  64,
  64,
  48,
  78,
  69,
  71,
  79,
  87,
  61,
  89,
  59,
  82,
  70,
  59,
  78,
  92,
  71,
  50,
  49,
  61,
  97,
  87,
  89,
  74,
  78,
  78,
  49,
  86,
  58,
  59,
  52,
  60,
  61,
  53,
  41,
  74,
  67,
  54,
  61,
  88,
  69,
  83,
  60,
  66,
  66,
  92,
  69,
  82,
  77,
  95,
  63,
  83,
  100,
  67,
  67,
  72,
  76,
  90,
  48,
  62,
  45,
  39,
  72,
  67,
  70,
  66,
  75,
  74,
  90,
  80,
  51,
  43,
  100,
  71,
  48,
  68,
  75,
  96,
  62,
  66,
  81,
  55,
  51,
  91,
  56,
  61,
  97,
  79,
  73,
  75,
  77,
  76,
  73,
  63,
  64,
  66,
  57,
  62,
  68,
  76,
  100,
  79,
  24,
  54,
  77,
  82,
  60,
  29,
  78,
  57,
  89,
  72,
  84,
  58,
  64,
  63,
  60,
  59,
  90,
  77,
  93,
  68,
  45,
  78,
  81,
  73,
  61,
  63,
  51,
  96,
  58,
  97,
  70,
  48,
  57,
  51,
  64,
  60,
  74,
  88,
  84,
  74,
  80,
  92,
  76,
  74,
  52,
  88,
  81,
  79,
  65,
  81,
  70,
  62,
  53,
  79,
  56,
  80,
  86,
  70,
  79,
  67,
  67,
  66,
  60,
  87,
  77,
  66,
  71,
  69,
  63,
  60,
  73,
  85,
  74,
  72,
  76,
  57,
  78,
  84,
  77,
  64,
  78,
  82,
  75,
  61,
  72,
  68,
  55,
  40,
  66,
  99,
  75,
  78,
  58,
  90,
  53,
  76,
  74,
  77,
  63,
  89,
  82,
  72,
  78,
  66,
  81,
  67,
  84,
  64,
  63,
  72,
  34,
  59,
  87,
  61,
  84,
  85,
  100,
  81,
  70,
  94,
  78,
  96,
  76,
  73,
  72,
  59,
  90,
  48,
  43,
  74,
  75,
  51,
  92,
  39,
  77,
  46,
  89,
  47,
  58,
  57,
  79,
  66,
  71,
  60,
  73,
  57,
  84,
  73,
  55,
  79,
  75,
  64,
  60,
  84,
  69,
  72,
  77,
  90,
  55,
  95,
  58,
  68,
  59,
  77,
  72,
  58,
  81,
  62,
  63,
  72,
  75,
  62,
  71,
  60,
  48,
  73,
  67,
  78,
  65,
  58,
  72,
  44,
  79,
  85,
  56,
  90,
  85,
  59,
  81,
  51,
  79,
  38,
  65,
  65,
  62,
  66,
  74,
  84,
  52,
  68,
  70,
  84,
  60,
  55,
  73,
  80,
  94,
  85,
  76,
  81,
  74,
  45,
  75,
  54,
  31,
  47,
  64,
  84,
  80,
  86,
  59,
  70,
  72,
  91,
  90,
  90,
  52,
  87,
  58,
  67,
  68,
  69,
  86,
  54,
  60,
  86,
  60,
  82,
  50,
  64,
  64,
  82,
  57,
  77,
  52,
  58,
  44,
  77,
  65,
  85,
  85,
  54,
  72,
  75,
  67,
  68,
  85,
  67,
  64,
  97,
  68,
  79,
  49,
  73,
  62,
  86,
  42,
  71,
  93,
  82,
  53,
  42,
  74,
  51,
  58,
  72,
  84,
  90,
  62,
  64,
  82,
  61,
  72,
  76,
  64,
  70,
  73,
  46,
  51,
  76,
  100,
  72,
  65,
  51,
  85,
  92,
  67,
  74,
  62,
  34,
  29,
  78,
  54,
  78,
  84,
  78,
  48,
  100,
  84,
  77,
  48,
  84,
  75,
  64,
  42,
  84,
  61,
  62,
  61,
  70,
  100,
  61,
  77,
  96,
  70,
  53,
  66,
  65,
  70,
  64,
  56,
  61,
  43,
  56,
  74,
  57,
  71,
  75,
  87,
  63,
  57,
  58,
  81,
  68,
  66,
  91,
  66,
  62,
  68,
  61,
  82,
  58,
  50,
  75,
  73,
  77,
  74,
  52,
  69,
  57,
  87,
  100,
  63,
  81,
  58,
  54,
  100,
  76,
  57,
  70,
  68,
  63,
  76,
  84,
  100,
  72,
  50,
  65,
  63,
  82,
  62,
  65,
  41,
  95,
  24,
  78,
  85,
  87,
  75,
  51,
  59,
  75,
  45,
  86,
  81,
  82,
  76,
  72,
  63,
  99,
  55,
  71,
  78,
  86],
 [74,
  88,
  93,
  44,
  75,
  78,
  92,
  39,
  67,
  50,
  52,
  43,
  73,
  70,
  58,
  78,
  86,
  28,
  46,
  61,
  63,
  70,
  53,
  73,
  80,
  72,
  55,
  75,
  65,
  75,
  74,
  61,
  65,
  38,
  82,
  79,
  83,
  59,
  88,
  57,
  54,
  68,
  65,
  66,
  54,
  57,
  62,
  76,
  76,
  82,
  48,
  68,
  42,
  75,
  87,
  43,
  86,
  49,
  58,
  10,
  72,
  34,
  55,
  71,
  59,
  61,
  37,
  74,
  56,
  57,
  73,
  63,
  48,
  56,
  41,
  38,
  22,
  81,
  72,
  68,
  50,
  45,
  54,
  63,
  34,
  82,
  88,
  74,
  67,
  82,
  74,
  36,
  71,
  50,
  92,
  82,
  62,
  70,
  62,
  62,
  67,
  74,
  89,
  47,
  90,
  72,
  100,
  64,
  70,
  72,
  98,
  49,
  47,
  54,
  100,
  74,
  82,
  79,
  61,
  65,
  89,
  92,
  93,
  56,
  73,
  86,
  67,
  74,
  74,
  51,
  82,
  40,
  70,
  84,
  75,
  48,
  41,
  56,
  67,
  69,
  71,
  64,
  54,
  47,
  78,
  33,
  75,
  66,
  81,
  93,
  69,
  68,
  66,
  47,
  61,
  88,
  78,
  60,
  87,
  64,
  74,
  85,
  52,
  49,
  91,
  100,
  51,
  78,
  78,
  70,
  74,
  78,
  81,
  70,
  54,
  87,
  58,
  77,
  62,
  100,
  75,
  66,
  47,
  70,
  49,
  65,
  65,
  68,
  45,
  87,
  69,
  79,
  66,
  62,
  85,
  52,
  65,
  51,
  55,
  76,
  86,
  77,
  69,
  68,
  42,
  78,
  62,
  76,
  76,
  66,
  79,
  27,
  60,
  56,
  81,
  75,
  88,
  39,
  70,
  56,
  74,
  73,
  62,
  75,
  73,
  54,
  71,
  54,
  64,
  94,
  66,
  42,
  83,
  78,
  84,
  77,
  67,
  74,
  51,
  80,
  66,
  83,
  55,
  43,
  69,
  71,
  74,
  68,
  62,
  53,
  49,
  83,
  70,
  72,
  52,
  70,
  68,
  77,
  78,
  81,
  77,
  78,
  51,
  90,
  68,
  41,
  81,
  77,
  95,
  70,
  61,
  42,
  58,
  71,
  76,
  73,
  93,
  75,
  80,
  57,
  42,
  46,
  84,
  78,
  46,
  82,
  88,
  82,
  76,
  77,
  68,
  70,
  57,
  75,
  80,
  60,
  43,
  68,
  50,
  75,
  81,
  52,
  81,
  64,
  83,
  69,
  81,
  44,
  67,
  52,
  80,
  57,
  68,
  69,
  75,
  65,
  91,
  78,
  69,
  63,
  84,
  79,
  80,
  53,
  43,
  94,
  62,
  19,
  77,
  51,
  61,
  35,
  53,
  81,
  95,
  66,
  69,
  43,
  27,
  60,
  52,
  63,
  74,
  67,
  67,
  75,
  57,
  95,
  66,
  76,
  69,
  52,
  80,
  57,
  70,
  70,
  61,
  69,
  61,
  89,
  59,
  78,
  58,
  32,
  58,
  60,
  53,
  61,
  58,
  85,
  71,
  70,
  72,
  96,
  73,
  41,
  82,
  100,
  77,
  62,
  83,
  95,
  71,
  45,
  43,
  75,
  70,
  67,
  64,
  75,
  59,
  77,
  67,
  56,
  77,
  41,
  63,
  95,
  57,
  54,
  67,
  43,
  55,
  100,
  62,
  68,
  63,
  77,
  56,
  85,
  74,
  78,
  60,
  67,
  79,
  69,
  68,
  67,
  62,
  54,
  93,
  64,
  67,
  80,
  34,
  62,
  86,
  65,
  53,
  54,
  59,
  70,
  55,
  50,
  66,
  53,
  64,
  73,
  51,
  82,
  79,
  80,
  69,
  76,
  73,
  77,
  60,
  80,
  42,
  72,
  85,
  97,
  74,
  49,
  62,
  47,
  89,
  48,
  100,
  68,
  55,
  45,
  76,
  91,
  62,
  91,
  38,
  65,
  85,
  76,
  90,
  74,
  84,
  61,
  91,
  83,
  66,
  72,
  70,
  67,
  68,
  56,
  61,
  46,
  54,
  71,
  56,
  74,
  57,
  82,
  76,
  70,
  90,
  90,
  68,
  66,
  52,
  76,
  68,
  72,
  82,
  92,
  54,
  92,
  54,
  80,
  66,
  54,
  77,
  87,
  73,
  43,
  52,
  62,
  94,
  85,
  84,
  73,
  78,
  79,
  52,
  84,
  57,
  50,
  49,
  59,
  60,
  43,
  47,
  70,
  73,
  53,
  58,
  94,
  68,
  83,
  58,
  62,
  71,
  86,
  68,
  80,
  79,
  89,
  66,
  80,
  97,
  64,
  64,
  69,
  65,
  88,
  50,
  64,
  40,
  33,
  79,
  66,
  70,
  62,
  79,
  74,
  92,
  80,
  46,
  45,
  100,
  78,
  47,
  67,
  70,
  92,
  56,
  64,
  71,
  53,
  52,
  89,
  58,
  68,
  96,
  80,
  78,
  80,
  77,
  76,
  73,
  62,
  65,
  65,
  54,
  50,
  64,
  73,
  99,
  72,
  15,
  48,
  73,
  81,
  63,
  30,
  80,
  51,
  90,
  62,
  82,
  54,
  62,
  65,
  63,
  66,
  91,
  74,
  93,
  72,
  38,
  83,
  84,
  68,
  54,
  56,
  52,
  86,
  62,
  99,
  63,
  46,
  46,
  55,
  70,
  65,
  81,
  85,
  80,
  64,
  81,
  88,
  74,
  73,
  51,
  90,
  79,
  80,
  60,
  81,
  65,
  68,
  55,
  81,
  53,
  76,
  98,
  74,
  79,
  67,
  64,
  61,
  58,
  85,
  73,
  63,
  69,
  67,
  63,
  60,
  71,
  87,
  61,
  77,
  68,
  50,
  76,
  84,
  78,
  66,
  76,
  76,
  78,
  60,
  74,
  60,
  54,
  44,
  68,
  100,
  68,
  73,
  44,
  83,
  53,
  78,
  81,
  73,
  56,
  86,
  90,
  70,
  79,
  59,
  82,
  72,
  87,
  67,
  64,
  65,
  36,
  52,
  79,
  58,
  90,
  85,
  99,
  84,
  74,
  87,
  72,
  99,
  74,
  80,
  70,
  59,
  88,
  42,
  41,
  71,
  77,
  57,
  84,
  37,
  80,
  43,
  94,
  44,
  57,
  59,
  84,
  73,
  73,
  55,
  72,
  56,
  82,
  72,
  47,
  74,
  71,
  68,
  59,
  86,
  68,
  65,
  75,
  85,
  53,
  92,
  52,
  72,
  65,
  77,
  64,
  54,
  86,
  63,
  59,
  72,
  77,
  60,
  75,
  57,
  49,
  74,
  72,
  79,
  60,
  55,
  70,
  43,
  82,
  82,
  57,
  84,
  82,
  62,
  79,
  44,
  77,
  32,
  61,
  61,
  60,
  70,
  69,
  77,
  51,
  73,
  70,
  81,
  54,
  57,
  68,
  73,
  95,
  87,
  78,
  74,
  75,
  40,
  69,
  51,
  36,
  49,
  67,
  76,
  83,
  87,
  64,
  76,
  68,
  88,
  92,
  93,
  51,
  82,
  52,
  58,
  70,
  76,
  81,
  53,
  57,
  89,
  58,
  89,
  45,
  74,
  57,
  79,
  53,
  73,
  46,
  51,
  36,
  76,
  64,
  84,
  85,
  50,
  68,
  69,
  67,
  63,
  93,
  61,
  55,
  96,
  65,
  81,
  46,
  72,
  53,
  87,
  38,
  80,
  91,
  88,
  52,
  41,
  72,
  51,
  47,
  76,
  78,
  82,
  61,
  66,
  84,
  54,
  80,
  74,
  66,
  70,
  71,
  44,
  54,
  80,
  95,
  59,
  74,
  48,
  91,
  85,
  73,
  75,
  69,
  38,
  27,
  79,
  63,
  82,
  89,
  74,
  41,
  100,
  84,
  77,
  51,
  91,
  72,
  70,
  48,
  82,
  66,
  66,
  55,
  66,
  100,
  52,
  80,
  91,
  67,
  46,
  66,
  65,
  69,
  60,
  52,
  71,
  44,
  51,
  70,
  62,
  73,
  74,
  90,
  58,
  53,
  57,
  85,
  69,
  72,
  96,
  64,
  61,
  61,
  58,
  80,
  60,
  52,
  73,
  71,
  83,
  72,
  54,
  69,
  62,
  81,
  100,
  59,
  71,
  64,
  53,
  100,
  75,
  58,
  72,
  64,
  60,
  67,
  80,
  100,
  69,
  60,
  61,
  67,
  77,
  60,
  58,
  48,
  94,
  23,
  78,
  86,
  91,
  82,
  54,
  51,
  76,
  45,
  83,
  75,
  78,
  76,
  74,
  62,
  95,
  55,
  65,
  77,
  86]]
In [11]:
labels = ['数学成绩','阅读成绩','写作成绩']
plt.figure(figsize=(1.3,2), dpi=300)
plt.boxplot(grade_single, notch=True, labels=labels, meanline=True,flierprops=dict(markersize=2), widths=0.3)
plt.title('学生各项考试成绩分散情况箱线图', fontsize=6)
plt.xticks(fontsize=6)
plt.yticks(fontsize=6)
plt.show()
No description has been provided for this image

🎯 结论总结

总成绩分布结论:

  • 超八成学生在“及格”及以上,说明整体成绩水平较好。
  • 有约 1/10 学生不及格,需要给予更多辅导或支持。
  • “良好”最多,占近一半,说明多数学生在中上水平,具备进一步提高的潜力。

单科成绩分散结论:

  • 三科成绩的中位数都偏高,说明大多数学生得分在及格线以上。
  • 数学和写作的离散程度大于阅读,说明这两科差异性更大,存在部分成绩特别高或特别低的学生。
  • 数学异常值最多,可能是该科学生差距最大的体现,建议个别关注。

🧠 综合建议:

  • 提升良好 → 优秀:大量学生处在“良好”区间,有提升空间,可通过强化训练或拓展课程提升至优秀。
  • 关注不及格学生:需个性化辅导,查漏补缺。
  • 关注数学两极分化:制定针对性提升方案,帮助数学成绩波动大的学生。
</html>