python统计全班的成绩(numpy的使用)

按照给出的学生成绩,统计各科成绩的平均成绩、最小成绩、最大成绩、方差、标准差、并按总成绩排序,最后进行成绩输出。

 代码:

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]

原文地址:https://www.cnblogs.com/xiao02fang/p/13435272.html