Numpy统计函数
函数 | 说明 |
sum(a,axis=None) | 根据给定轴axis计算数组a相关元素之和,axis整数或元组 |
mean(a,axis=None) | 根据给定轴axis计算数组a相关元素的期望,axis整数或元组 |
average(a,axis=None,weights=None) | 根据给定轴axis计算数组a相关元素的加权平均值 |
std(a,axis=None) | 根据给定轴axis计算数组a相关元素的标准差 |
var(a,axis=None) | 根据给定轴axis计算数组a相关元素的方差 |
【注】axis默认为None 计算整个数组
import numpy as np
a=np.arange(15).reshape(3,5)
b=np.sum(a)
c=np.mean(a,axis=1)
d=np.mean(a,axis=0)
e=np.average(a,axis=0,weights=[10,5,1])
f=np.std(a)
g=np.var(a)
ls=[a,b,c,d,e,f,g]
for i in ls:
print(i)
[[ 0 1 2 3 4]
[ 5 6 7 8 9]
[10 11 12 13 14]]
105
[ 2. 7. 12.]
[5. 6. 7. 8. 9.]
[2.1875 3.1875 4.1875 5.1875 6.1875]
4.320493798938574
18.666666666666668
函数 | 说明 |
min(a) max(a) | 计算数组a中元素的最小值、最大值 |
argmin() argmax() | 计算数组a中元素最小值、最大值的降一维后下标 |
unravel_index(index,shape) | 根据shape将一维下标index转换成多维下标 |
ptp(a) | 计算数组a中元素最大值与最小值的差 |
median(a) | 计算数组a中元素的中位数(中值) |
import numpy as np
a=np.arange(15,0,-1).reshape(3,5)
print(a)
b=np.argmin(a)
print(b)
c=np.unravel_index(b,a.shape)
print(c)
d=np.ptp(a)
print(d)
e=np.median(a)
print(e)
[[15 14 13 12 11]
[10 9 8 7 6]
[ 5 4 3 2 1]]
14
(2, 4)
14
8.0
Numpy梯度函数
1.np.gradient(f) 计算数组中元素的梯度,当f为多维时,返回每个维度梯度
梯度:连续值之间的变化率,即斜率
XY坐标轴连续三个X坐标对应的Y轴值a, b,c ;其中b 的梯度是:(c-a)/2
import numpy as np
a=np.random.randint(0,50,(3,5))
b=np.gradient(a)
print(a)
print(b)
[[11 4 6 42 9]
[ 9 49 33 17 18]
[12 40 35 13 32]]
[array([[ -2. , 45. , 27. , -25. , 9. ],
[ 0.5, 18. , 14.5, -14.5, 11.5],
[ 3. , -9. , 2. , -4. , 14. ]]),
array([[ -7. , -2.5, 19. , 1.5, -33. ],
[ 40. , 12. , -16. , -7.5, 1. ],
[ 28. , 11.5, -13.5, -1.5, 19. ]])]
【注】array([[ -2. , 45. , 27. , -25. , 9. ],
[ 0.5, 18. , 14.5, -14.5, 11.5],
[ 3. , -9. , 2. , -4. , 14. ]])
为最外层维度(列):-2=9-11 45=49-4 ...... (上边界:下一行减本行)
0.5=(12-11)/2 ...............
3=12-9 (下边界:本行-下一行)
array([[ -7. , -2.5, 19. , 1.5, -33. ],
[ 40. , 12. , -16. , -7.5, 1. ],
[ 28. , 11.5, -13.5, -1.5, 19. ]])]
同理