本文转载于链接:https://blog.csdn.net/Zed__H/article/details/81366073
1.numpy.mean() 函数功能
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=)
最重要的是对axis的理解,尤其是二维和三维数组,针对气象栅格数据处理时尤为重要,直接上代码!本文对原作顺序做出稍微调整,以便更好的理解!
2. 对axis的理解
(1)构建三维数组
>>> a = np.arange(30).reshape(2,3,5)
>>> a
array([[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]],
[[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29]]])
(2)对单一轴(axis=0,1,2)求平均
>>> np.mean(a,0) #沿axis=0的轴分别运算平均,剩下的shape 为(axis=1,axis=2)的维度(3,5)
array([[ 7.5, 8.5, 9.5, 10.5, 11.5],
[12.5, 13.5, 14.5, 15.5, 16.5],
[17.5, 18.5, 19.5, 20.5, 21.5]])
>>> np.mean(a,1) #沿axis=1的轴分别运算平均,剩下的shape 为(axis=0,axis=2)的维度(2,5)
array([[ 5., 6., 7., 8., 9.],
[20., 21., 22., 23., 24.]])
>>> np.mean(a,2) #沿axis=2的轴分别运算平均,剩下的shape 为(axis=0,axis=1)的维度(2,3)
array([[ 2., 7., 12.],
[17., 22., 27.]])
(2)对其中两个轴求平均
>>> np.mean(a,(0,1)) #分别沿axis=0, axis=1的轴分别运算平均,剩下的shape 为axis=2的维度(5,)
array([12.5, 13.5, 14.5, 15.5, 16.5])
>>> np.mean(a,(0,2)) #分别沿axis=0,axis=2的轴分别运算平均,剩下的shape 为(axis=1,)的维度(3,)
array([ 9.5, 14.5, 19.5])
>>> np.mean(a,(1,2)) #分别沿axis=1,axis=2的轴分别运算平均,剩下的shape 为(axis=0,)的维度(2,)
array([7],[22])