我想在python重新实现一个IDL功能:调整与平均或热病一个numpy的二维数组
http://star.pst.qub.ac.uk/idl/REBIN.html
,其通过一个整数因子进行平均的尺寸减小的2D阵列。
例如:
>>> a=np.arange(24).reshape((4,6))
>>> 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]])
我想通过取相关样品的平均值,以大小重新调整为(2,3),预期的输出将是:
>>> b = rebin(a, (2, 3))
>>> b
array([[ 3.5, 5.5, 7.5],
[ 15.5, 17.5, 19.5]])
即b[0,0] = np.mean(a[:2,:2]), b[0,1] = np.mean(a[:2,2:4])
等等。
我相信我应该重塑一个4维数组,然后在正确的切片上取平均值,但是不能算出算法。你有任何提示吗?
现在才发现这是http://stackoverflow.com/questions/4624112/grouping-2d-numpy-array-in-average的副本,但是我找不到这个在使用stackoverflow中的搜索功能之前。 –