Shape dan Reshape
Table of Contents
NumPy Dasar-dasar Komputasi Numerik - This article is part of a series.
Manipulasi dimensi (shape) array adalah bagian penting dalam pengolahan data numerik. Dalam NumPy, kita dapat dengan mudah mengakses dan mengubah dimensi array menggunakan properti shape dan fungsi reshape()
. Mari kita telaah lebih lanjut tentang penggunaan shape dan reshape pada NumPy Array.
A. Properti Shape pada NumPy Array #
1. Mendapatkan Dimensi Array #
Properti shape
pada NumPy Array memberikan dimensi atau ukuran setiap dimensi array. Kita dapat mengaksesnya dengan menggunakan syntax berikut:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# Mendapatkan dimensi array
array_shape = arr.shape
Hasil Print:
(2, 3)
Pada contoh di atas, array arr
memiliki dimensi (2, 3)
, yang berarti array tersebut memiliki 2 baris dan 3 kolom.
2. Mendapatkan Jumlah Elemen pada Array #
Selain itu, kita juga dapat menggunakan properti size untuk mendapatkan jumlah total elemen pada array.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# Mendapatkan jumlah elemen pada array
total_elements = arr.size
Hasil Print:
6
B. Fungsi Reshape pada NumPy Array #
Fungsi reshape()
memungkinkan kita untuk mengubah dimensi array tanpa mengubah data yang ada. Ini sangat bermanfaat ketika kita ingin mengkategorikan ulang data atau mempersiapkannya untuk operasi tertentu.
1. Reshape Menjadi Array Satu Dimensi #
Kita dapat menggunakan fungsi reshape()
untuk meratakan array multi-dimensi menjadi array satu dimensi.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# Reshape menjadi array satu dimensi
arr_reshaped = arr.reshape(-1)
Hasil Print:
array([1, 2, 3, 4, 5, 6])
2. Reshape dengan Dimensi Tertentu #
Fungsi reshape()
juga memungkinkan kita untuk mengubah dimensi array sesuai dengan dimensi yang diinginkan.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
# Reshape dengan dimensi tertentu
arr_reshaped = arr.reshape(2, 3)
Hasil Print:
array([[1, 2, 3],
[4, 5, 6]])
3. Reshape dengan Menyertakan Dimensi Negatif #
Kita dapat menggunakan dimensi negatif untuk menunjukkan bahwa NumPy harus menghitung dimensi tersebut secara otomatis. Misalnya, jika kita ingin mengubah array menjadi array dengan 2 baris dan dimensi kolom yang dihitung secara otomatis:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
# Reshape dengan dimensi yang dihitung otomatis
arr_reshaped = arr.reshape(2, -1)
Hasil Print:
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
C. Penggunaan Flatten pada NumPy Array #
Fungsi flatten()
adalah alternatif lain untuk meratakan array multi-dimensi menjadi array satu dimensi.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
# Menggunakan flatten()
arr_flattened = arr.flatten()
Hasil Print:
array([1, 2, 3, 4, 5, 6])