Python 屏蔽阵列子阵列上的有效平均

Python 屏蔽阵列子阵列上的有效平均,python,numpy,Python,Numpy,可能重复: 我需要通过对原始阵列的8x8个元素块进行平均,将一个2d形状数组(28805760)下采样为形状数组(360720)。使用NumPy哪一种方法是有效的 编辑 我只是意识到我需要在屏蔽数组上执行此操作,所以链式平均值()不起作用。首先引入两个额外的轴,然后沿这些轴取平均值。如果X是您的数据: X.reshape(360, 8, 720, 8).mean(axis=3).mean(axis=1) 这是一种同样适用于屏蔽阵列的方法 import numpy as np, numpy.r

可能重复:

我需要通过对原始阵列的8x8个元素块进行平均,将一个2d形状数组(28805760)下采样为形状数组(360720)。使用NumPy哪一种方法是有效的

编辑
我只是意识到我需要在屏蔽数组上执行此操作,所以链式平均值()不起作用。

首先引入两个额外的轴,然后沿这些轴取平均值。如果
X
是您的数据:

X.reshape(360, 8, 720, 8).mean(axis=3).mean(axis=1)

这是一种同样适用于屏蔽阵列的方法

import numpy as np, numpy.random
nx = 100
ny = 101
bx = 3
by = 4
arr = np.random.uniform(size = (nx * bx, ny * by))
arr = np.ma.masked_array(arr,arr<.1)
rebinarr = np.swapaxes(arr.reshape(nx, bx, ny, by), 1, 2).reshape(nx, ny, bx * by).mean(axis=2)
print rebinarr.shape
>> (100,101)
将numpy作为np导入,numpy.random
nx=100
ny=101
bx=3
比=4
arr=np.random.uniform(大小=(nx*bx,ny*by))
arr=np.ma.屏蔽阵列(arr,arr>(100101)