1
私はこれを見てきました:Slice 2d array into smaller 2d arrays2D配列を可変サイズのより小さい2D配列に分割するにはどうすればよいですか?
は、しかし、私は均等にN個のブロックによっていくつかNに分割することができないイメージがあります。理想的には、私が発生し、次の動作のためにたい:以下に(70x85)アレイを分割反映
>>> import numpy as np
>>> a = np.arange(70*85).reshape([70,85])
>>> arrlist = split_2d(a, [16, 16])
>>> dd = dict()
>>> for arr in arrlist:
... dd[arr.shape] = dd.get(arr.shape, 0) + 1
>>> print(dd)
{(16, 16): 16, (10, 16): 4, (16, 5): 4, (10, 5): 1}
:
(16x16) (16x16) (16x16) (16x16) (10x16)
(16x16) (16x16) (16x16) (16x16) (10x16)
(16x16) (16x16) (16x16) (16x16) (10x16)
(16x16) (16x16) (16x16) (16x16) (10x16)
(16x16) (16x16) (16x16) (16x16) (10x16)
(16x5) (16x5) (16x5) (16x5) (10x5)
戻り値は、2次元アレイのリストのいずれかとすることができます、または2D配列の2D配列。
?そして、開始配列のインデックス上でのループ処理は十分ですか? –
はい、2D配列の2D配列は問題ありません。そして、ループは大丈夫ですが、インプレースは最適です(画像がかなり大きくなるのを見てください) – ijustlovemath