计算加权平均值
例如要计算某个学生的加权成绩,权重是每门课程的学分。
首选我们创建两个数组,分别包含成绩和学分:
>>> import numpy as np
>>> grade=np.array([80,90,67,78,83])
>>> w=np.array([2,3,2,4,3])
接下来使用numpy.average函数计算加权成绩:
>>> wgrade=np.average(grade,weights=w)
>>> print 'wgrade=',wgrade
wgrade= 80.3571428571
计算平均值
使用numpy.mean函数计算平均值,依然用上面的例子,计算5门成绩的平均值:
>>> m=np.mean(grade)
>>> print "the mean of grade is=",m
the mean of grade is= 79.6
最大值和最小值
使用numpy.max函数和numpy.min函数得到最大值和最小值,上面成绩的最大值和最小值为:
>>> highest=np.max(grade)
>>> lowest=np.min(grade)
>>> print "the highest grade is:",highest
the highest grade is: 90
>>> print "the lowest grade is:",lowest
the lowest grade is: 67
数组取值范围
使用numpy.ptp函数计算数组的取值范围,相当于是:max(array) - min(array)。例如,计算成绩的范围:
>>> np.ptp(grade)
23
>>> np.max(grade)-np.min(grade)
23
简单统计分析
1.中位数
numpy.median函数用来找到中位数:
>>> c=np.array([2,3,1,4,23,6,8,11,9,3,1,22])
>>> print np.median(c)
5.0
得到中位数为5.0,我们来检查一下;
>>> d=np.msort(c)
>>> print d
[ 1 1 2 3 3 4 6 8 9 11 22 23]
这个数组一共用12个元素,中位数应该是位置在第6和第7之间,即为4和6的均值,是5
2.方差
var函数用来计算方差:
>>> np.var(c)
52.854166666666664
3.标准差
std函数用来计算标准差
>>> np.std(c)
7.2700871154798872