Home » python » NumPy Array Reshape

NumPy Array Reshape

by Catur Kurnia Sari
by Catur Kurnia Sari

Section Artikel

Reshape array

Reshape array pada python berarti mengubah shape array.

Shape array adalah banyaknya elemen di setiap dimensi.

Dengan reshape kita dapat menambah atau menghapus dimensi atau mengubah jumlah elemen di setiap dimensi.

Reshape Dari 1-D ke 2-D

Contoh
Ubah array 1-D berikut dengan 12 elemen dan menjadi array2-D.

Dimensi terluar akan memiliki 4 array, masing-masing dengan 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)

Reshape Dari 1-D ke 3-D

Contoh
Ubah array 1-D berikut dengan 12 elemen dan menjadi array 3-D.

Dimensi terluar akan memiliki 2 array yang berisi 3 array, masing-masing dengan 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)

Bisakah melakukan Reshape Menjadi Shape Apapun?

Ya, selama elemen yang diperlukan untuk reshape sama di kedua bentuk.

Kita dapat membentuk kembali array 8 elemen 1D menjadi 4 elemen dalam array 2D 2 baris tetapi kita tidak dapat reshape menjadi array 2D 3 elemen 3 baris karena akan membutuhkan 3×3 = 9 elemen.

Contoh:
Coba ubah array 1D dengan 8 elemen menjadi array 2D dengan 3 elemen di setiap dimensi (akan menimbulkan error)

Return Copy atau view?

Contoh:
Periksa apakah array yang dikembalikan adalah Copy atau View

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 yang asli, maka kesimpulannya kode ini adalah View.

Dimensi Tidak Diketahui (Unknown)

Kita diizinkan memiliki satu dimensi “unknown” pada Python.

Artinya kita tidak harus menentukan angka pasti untuk salah satu dimensi dalam metode reshape.

Berikan -1 sebagai nilainya, dan NumPy akan menghitung angka ini.

Contoh
Ubah array 1D dengan 8 elemen menjadi array 3D dengan elemen 2×2

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

newarr = arr.reshape(2, 2, -1)

print(newarr)

Catatan: Kita tidak dapat meneruskan -1 ke lebih dari satu dimensi.

Meratakan array

Meratakan array berarti mengubah array multidimensi menjadi array 1D.

Kita dapat menggunakan bentuk ulang (-1) untuk melakukan ini.

Contoh:
Ubah array menjadi array 1D

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

newarr = arr.reshape(-1)

print(newarr)

Catatan: Ada banyak fungsi untuk mengubah bentuk array di numpy flatten, ravel dan juga untuk mengatur ulang elemen rot90, flip, fliplr, flipud dll. Ini termasuk dalam bagian Menengah hingga Lanjutan dari numpy.

You may also like