Iterasi berarti melewati elemen satu per satu.
Saat kita menggunakan array multi-dimensi dalam numpy, kita dapat melakukan iterasi menggunakan for loop dari python.
Jika kita melakukan iterasi pada array 1-D, maka iterasi akan melewati setiap elemen satu per satu.
Contoh:
Iterasi pada elemen array 1-D berikut
Section Artikel
Iterasi Array 2-D
Dalam array 2-D, iterasi akan melewati semua baris.
Contoh:
Iterasi pada elemen array 2-D berikut
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: print(x)
Jika kita melakukan iterasi pada array n-D, maka ia akan melewati dimensi ke-1 satu per satu.
Untuk mengembalikan nilai aktual, skalar, kita harus mengulang array di setiap dimensi.
Contoh:
Iterasi pada setiap elemen skalar dari array 2-D
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: for y in x: print(y)
Iterasi 3-D Array
Dalam array 3-D, iterasi akan melewati semua array 2-D.
Contoh:
Iterasi pada elemen array 3-D berikut
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: print("x represents the 2-D array:") print(x)
Untuk mengembalikan nilai aktual, skalar, kita harus mengulang array di setiap dimensi.
Contoh:
Iterasi pada skalar
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: for y in x: for z in y: print(z)
Iterasi Array Menggunakan nditer()
Fungsi nditer() adalah fungsi bantuan yang dapat digunakan dari iterasi yang paling dasar hingga yang sangat kompleks. Fungsi ini memecahkan beberapa masalah dasar yang dihadapi dalam iterasi, mari kita bahas dengan contoh.
Iterasi pada Setiap Elemen Skalar
Dalam basic for loop akan melakukan iterasi melalui setiap skalar array, kita perlu menggunakan n untuk loop yang mungkin sulit ditulis pada array dengan dimensi yang sangat tinggi.
Contoh:
Iterasi melalui array 3-D berikut
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) for x in np.nditer(arr): print(x)
Iterasi Array Dengan Tipe Data Berbeda
Kita dapat menggunakan argumen op_dtypes dan meneruskannya ke tipe data yang diharapkan untuk mengubah tipe data elemen saat iterasi.
NumPy tidak mengubah tipe data elemen di-tempat (di mana elemen berada dalam array) sehingga membutuhkan ruang lain untuk melakukan tindakan ini, ruang ekstra itu disebut buffer, dan untuk mengaktifkannya pada nditer() kita gunakan pass flags = [‘buffered’].
Contoh
Iterasi melalui array sebagai string
import numpy as np arr = np.array([1, 2, 3]) for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']): print(x)
Iterasi Dengan Ukuran Step Yang Berbeda
Kita bisa menggunakan filtering dan diikuti dengan iterasi.
Contoh:
Iterasi melalui setiap elemen skalar dari array 2D dengan melewatkan 1 elemen
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for x in np.nditer(arr[:, ::2]): print(x)
Iterasi Enumerasi Menggunakan ndenumerate()
Pencacahan (Enumerasi) berarti menyebutkan nomor urut suatu hal satu per satu.
Terkadang kita memerlukan indeks elemen yang sesuai saat melakukan iterasi, metode ndenumerate() dapat digunakan untuk kasus penggunaan tersebut.
Contoh:
Menghitung elemen array 1D berikut
import numpy as np arr = np.array([1, 2, 3]) for idx, x in np.ndenumerate(arr): print(idx, x)
Contoh
Menghitung elemen array 2D berikut
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for idx, x in np.ndenumerate(arr): print(idx, x)