Reshape Array NumPy
- Hal Sebelumnya Bentuk Array NumPy
- Hal Berikutnya Iterasi Array NumPy
Merubah bentuk array
Merubah bentuk berarti mengubah bentuk array.
Bentuk array adalah jumlah elemen di setiap dimensi.
Dengan merubah bentuk, kami dapat menambah atau menghapus dimensi atau mengubah jumlah elemen di setiap dimensi.
Merubah bentuk dari 1-D ke 2-D
Contoh
Ubah berikut array 1-D yang memiliki 12 elemen menjadi array 2-D.
Dimensi luar paling besar akan memiliki 4 array, masing-masing berisi 3 elemen:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(4, 3) print(newarr)
Merubah bentuk dari 1-D ke 3-D
Contoh
Ubah berikut array 1-D yang memiliki 12 elemen menjadi array 3-D.
Dimensi luar paling besar akan memiliki 2 array, masing-masing berisi 3 array, dengan setiap array berisi 2 elemen:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) newarr = arr.reshape(2, 3, 2) print(newarr)
Apakah kami dapat merubah bentuk ke apapun?
Ya, selama elemen yang dibutuhkan untuk merubah bentuk sama di kedua bentuk.
Kami dapat merubah array 1D 8 elemen menjadi 4 elemen di 2 baris 2D array, tetapi kami tidak dapat merubahnya menjadi 3 baris 2D array 3 elemen, karena itu akan memerlukan 3x3 = 9 elemen.
Contoh
Coba mengubah array 1D yang memiliki 8 elemen menjadi array 2D dengan 3 elemen di setiap dimensi (akan menghasilkan kesalahan):
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(3, 3) print(newarr)
Kembalikan salinan atau tampilan?
Contoh
Periksa apakah array yang dihasilkan adalah salinan atau tampilan:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) print(arr.reshape(2, 4).base)
Contoh di atas mengembalikan array asli, jadi ini adalah tampilan.
Dimensi Tidak Diketahui
Anda dapat menggunakan dimensi 'tidak diketahui'.
Artinya Anda tidak perlu menentukan angka pasti untuk satu dimensi di metode reshape.
Diberikan -1
Sebagai nilai, NumPy akan menghitung angka untuk Anda.
Contoh
Mengubah array 1D dengan 8 elemen menjadi array 3D dengan 2x2 elemen:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) newarr = arr.reshape(2, 2, -1) print(newarr)
Keterangan:Kami tidak dapat mengubah -1
Diberikan ke lebih dari satu dimensi.
Pembenahan array
Pembenahan array (Flattening the arrays) adalah mengubah array multidimensi menjadi array 1D.
Kami dapat menggunakan reshape(-1)
Untuk mencapai hal ini.
Contoh
Mengubah array menjadi array 1D:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) newarr = arr.reshape(-1) print(newarr)
Keterangan:Ada banyak fungsi yang dapat mengubah bentuk array numpy flatten, ravel, dan dapat mengatur ulang elemen rot90, flip, fliplr, flipud. Fungsi-fungsi ini termasuk bagian menengah hingga tinggi numpy.
- Hal Sebelumnya Bentuk Array NumPy
- Hal Berikutnya Iterasi Array NumPy