將二維陣列分割成更小的陣列
問題:
您希望將二維( 2D) NumPy 陣列轉換為較小的2D 陣列。例如,您可能想要將一個 2x4 陣列轉換為兩個 2x2 陣列。
解決方案:
reshape 和 swapaxes 函數的組合可讓您將陣列分割為「區塊」。 」這是實現此目的的Python 實現:
def blockshaped(arr, nrows, ncols): h, w = arr.shape assert h % nrows == 0, f"{h} rows is not evenly divisible by {nrows}" assert w % ncols == 0, f"{w} cols is not evenly divisible by {ncols}" return (arr.reshape(h//nrows, nrows, -1, ncols) .swapaxes(1,2) .reshape(-1, nrows, ncols))
在此解決方案中:
此示範說明如何將 2D 陣列分割為指定尺寸的較小矩形陣列。
以上是如何將 NumPy 2D 陣列分成更小的 2D 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!