1
我需要 '下采樣' 形狀的2D陣列(2880,5760)來塑造(通過對原始陣列的8×8個元素塊進行平均,這將是一個使用NumPy的有效方法嗎?
編輯 我只是意識到我需要在masked_arrays上做這個,所以鏈接的mean()不會。
我需要 '下采樣' 形狀的2D陣列(2880,5760)來塑造(通過對原始陣列的8×8個元素塊進行平均,這將是一個使用NumPy的有效方法嗎?
編輯 我只是意識到我需要在masked_arrays上做這個,所以鏈接的mean()不會。
這裏是一個用於蒙面陣列的作品,以及
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)
方式
首先引入兩個額外的軸,然後沿這些軸採取手段。如果X
是你的數據:
X.reshape(360, 8, 720, 8).mean(axis=3).mean(axis=1)