次の配列があります(数字は説明のためのプレースホルダーです):
arr = np.array([[1, 1, 1, 2, 2, 2, 3, 3, 3, 4 ,4, 4 ],
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 ],
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4 ],
[5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8 ],
[5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8 ],
[5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8 ],
[9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12],
[9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12],
[9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12],
[13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16],
[13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16],
[13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16]])
ここで同じ番号を持つ 9 つの要素 (3x3 領域) ごとに合計されるように、次元を縮小したいと思います。したがって、12*12 配列は 4x4 配列になるはずです。
私はここで他の答えを探していましたが、適応した1D配列の何かを見つけました。ただし、期待どおりに機能していません。
result = np.sum(arr.reshape(-1,3), axis=1)
result = np.sum(result .reshape(3,-1), axis=0)
望ましい結果を達成するための正しいことは何ですか?