按照给出的学生成绩,统计各科成绩的平均成绩、最小成绩、最大成绩、方差、标准差、并按总成绩排序,最后进行成绩输出。
代码:
import numpy as np score_type = np.dtype({'names':["name","chinese","english","math"],'formats':['S32','i', 'i', 'i']}) score = np.array([("zhangfei",66,65,30),("guanyu",95,85,98),("zhangyun",93,92,96),("huangzhong",90,88,77), ("dianwei",80,90,90)],dtype = score_type) chineses = score[:]["chinese"] englishes = score[:]["english"] maths = score[:]["math"] total = score[:]['chinese'] +score[:]['english']+score[:]['math'] print('语文平均成绩:',np.mean(chineses)) print('英语平均成绩:',np.mean(englishes)) print('数学平均成绩:',np.mean(maths)) print('语文最小成绩:',np.amin(chineses)) print('英语最小成绩:',np.amin(englishes)) print('数学最小成绩:',np.amin(maths)) print('语文最大成绩:',np.amax(chineses)) print('英语最大成绩:',np.amax(englishes)) print('数学最大成绩:',np.amax(maths)) print('语文方差:',np.var(chineses)) print('英语方差:',np.var(englishes)) print('数学方差:',np.var(maths)) print('语文标准差:',np.std(chineses)) print('英语标准差:',np.std(englishes)) print('数学标准差:',np.std(maths)) print('按总成绩排序:',np.sort(total))
结果:
语文平均成绩: 84.8 英语平均成绩: 84.0 数学平均成绩: 78.2 语文最小成绩: 66 英语最小成绩: 65 数学最小成绩: 30 语文最大成绩: 95 英语最大成绩: 92 数学最大成绩: 98 语文方差: 114.96000000000001 英语方差: 95.6 数学方差: 634.56 语文标准差: 10.721940122944169 英语标准差: 9.777525249264253 数学标准差: 25.19047439013406 按总成绩排序: [161 255 260 278 281]