1

重複の可能性:
平均して2Dnumpy配列をグループ化

元の配列の8x8要素のブロックを平均して、形状(2880、5760)の2D配列を形状(360、720)に「ダウンサンプリング」する必要があります。NumPyを使用してそれを行う効率的な方法はどれですか?

編集 私はmasked_arraysでこれを行う必要があることに気付いたので、連鎖されたmean()は行いません。

4

2 に答える 2

0

最初に2つの追加の軸を導入し、次にそれらの軸に沿って平均を取ります。あなたXのデータは次のとおりです。

X.reshape(360, 8, 720, 8).mean(axis=3).mean(axis=1)
于 2012-07-20T14:04:37.663 に答える
0

マスクされた配列でも機能する方法は次のとおりです

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)
于 2012-07-20T14:45:17.550 に答える