Numpy ialah perpustakaan serba boleh untuk memanipulasi tatasusunan berbilang dimensi dalam Python. Ia menawarkan pelbagai kaedah untuk manipulasi tatasusunan, termasuk menghiris untuk mengekstrak bahagian tertentu. Artikel ini meneroka penyelesaian untuk menghiris tatasusunan 2D kepada tatasusunan 2D yang lebih kecil, mencontohi contoh yang disediakan:
[[1,2,3,4], -> [[1,2] [3,4] [5,6,7,8]] [5,6] [7,8]]
Penyelesaian yang dicadangkan memanfaatkan fungsi bentuk semula dan swapax untuk mencapai penghirisan yang dikehendaki. Fungsi bentuk semula mengubah bentuk tatasusunan, dan fungsi swapaxes交换es paksi yang ditentukan. Dalam kod Python berikut, fungsi berbentuk blok merangkum pendekatan ini:
def blockshaped(arr, nrows, ncols): h, w = arr.shape return (arr.reshape(h//nrows, nrows, -1, ncols) .swapaxes(1,2) .reshape(-1, nrows, ncols))
Penjelasan:
Untuk menggambarkan penggunaan, pertimbangkan tatasusunan sampel c:
np.random.seed(365) c = np.arange(24).reshape((4, 6))
Menghiris c menjadi 2x3 blok:
sliced = blockshaped(c, 2, 3)
dihiris akan memegang blok 2D yang diingini:
[[[ 0 1 2] [ 6 7 8]] [[ 3 4 5] [ 9 10 11]] [[12 13 14] [18 19 20]] [[15 16 17] [21 22 23]]]
Penyelesaian ini menunjukkan cara menghiris tatasusunan numpy 2D kepada tatasusunan 2D yang lebih kecil menggunakan fungsi bentuk semula dan swapax. Ia menyediakan pendekatan yang fleksibel dan cekap untuk memproses dan memanipulasi imej atau matriks lain.
Atas ialah kandungan terperinci Bagaimana untuk Menghiris Tatasusunan Numpy 2D kepada Tatasusunan 2D yang Lebih Kecil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!