numpy 统计函数
import numpy as np
a=np.arange(15).reshape(3,5)
a
Out[10]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
np.sum
Out[11]: <function numpy.core.fromnumeric.sum>
np.sum(a)
Out[12]: 105
np.mean(a)
Out[13]: 7.0
np.mean(a,axis=0)
Out[14]: array([ 5., 6., 7., 8., 9.])
np.mean(a,axis=1)
Out[15]: array([ 2., 7., 12.])
np.average(a,axis=0,weights=[11,6,2])
Out[18]: array([ 2.63157895, 3.63157895, 4.63157895, 5.63157895, 6.63157895])
np.std(a)
Out[19]: 4.3204937989385739
np.var(a)
Out[20]: 18.666666666666668
np.std(a,axis=1)
Out[22]: array([ 1.41421356, 1.41421356, 1.41421356])
np.std(a,axis=0)
Out[23]: array([ 4.0824829, 4.0824829, 4.0824829, 4.0824829, 4.0
np.std(a,axis=1)
Out[22]: array([ 1.41421356, 1.41421356, 1.41421356])
np.std(a,axis=0)
Out[23]: array([ 4.0824829, 4.0824829, 4.0824829, 4.0824829, 4.0824829])
np.argmax(a)
Out[24]: 14
np.unravel_index(np.argmax(a),b.shape)
Out[28]: (0, 14)
a
Out[25]:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
np.ptp(a)
Out[26]: 14
np.gradient(f) 计算数组f中元素的梯度,当f为多维时,返回每个维度梯度
梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值:a, b, c,其中,b的梯度是: (c‐a)/2
import numpy as np
a=np.random.randint(0,50,(11))
a
Out[31]: array([25, 44, 23, ..., 39, 19, 2])
np.gradient(a)
Out[33]: array([ 19. , -1. , 0. , ..., -5.5, -18.5, -17. ])
b=np.random.randint(0,50,(11))
b
Out[35]: array([22, 37, 49, ..., 8, 48, 15])
np.gradient(b)
Out[36]: array([ 15. , 13.5, -0.5, ..., 13.5, 3.5, -33. ])