numpy的统计函数:
sum(a, axis = None) : 依给定轴axis计算数组a相关元素之和,axis为整数或者元组
代码语言:javascript复制>>> np.sum([0.5, 1.5])
2.0
>>> np.sum([0.5, 0.7, 0.2, 1.5], dtype=np.int32)
1
>>> np.sum([[0, 1], [0, 5]])
6
>>> np.sum([[0, 1], [0, 5]], axis=0)
array([0, 6])
>>> np.sum([[0, 1], [0, 5]], axis=1)
array([1, 5])
>>> np.sum([10], initial=5) #可指定初始值
15
mean(a, axis = None) : 同理,计算平均值
代码语言:javascript复制>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2., 3.])
>>> np.mean(a, axis=1)
array([ 1.5, 3.5])
average(a, axis =None, weights=None) : 依给定轴axis计算数组a相关元素的加权平均值
代码语言:javascript复制>>> data = np.arange(6).reshape((3,2))
>>> data
array([[0, 1],
[2, 3],
[4, 5]])
>>> np.average(data, axis=0, weights=[1./4, 3./4, 1/2])
array([2.33333333, 3.33333333])
>>> np.average(data, axis=1, weights=[1./4, 3./4])
array([0.75, 2.75, 4.75])
std(a, axis = None) :同理,计算标准差
代码语言:javascript复制>>> a = np.array([[1, 2], [3, 4]])
>>> np.std(a)
1.1180339887498949
>>> np.std(a, axis=0)
array([ 1., 1.])
>>> np.std(a, axis=1)
array([ 0.5, 0.5])
var(a, axis = None): 计算方差 #var = mean(abs(x - x.mean())**2)
代码语言:javascript复制>>> a = np.array([[1, 2], [3, 4]])
>>> np.var(a)
1.25
>>> np.var(a, axis=0)
array([ 1., 1.])
>>> np.var(a, axis=1)
array([ 0.25, 0.25])
ptp(a, axis=None) : 计算数组a最大值和最小值的差
代码语言:javascript复制>>> x = np.arange(4).reshape((2,2))
>>> np.ptp(x)
3
>>> np.ptp(x, axis=0)
array([2, 2])
median(a, axis=None) : 计算数组a中元素的中位数
代码语言:javascript复制>>> a = np.array([[10, 7, 4], [3, 2, 1]])
>>> a
array([[10, 7, 4],
[ 3, 2, 1]])
>>> np.median(a)
3.5
>>> np.median(a, axis=0)
array([ 6.5, 4.5, 2.5])
argmin(a) 和 argmax(a) : 计算数组a的最小、最大值的下标(注:是一维的下标)
代码语言:javascript复制>>> a = np.arange(6).reshape(2,3)
>>> a
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argmin(a)
0
>>> np.argmin(a, axis=0)
array([0, 0, 0])
>>> np.argmin(a, axis=1)
array([0, 0])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)
array([1, 1, 1])
>>> np.argmax(a, axis=1)
array([2, 2])
注意,对于上述函数,除了可以使用np.function(a, axis=None) 的形式进行调用,还可以使用 a.function(axis=None)的形式,二者的结果是一样的。