NumPy Array Iterating
Iterating Array
Iterating/iterasi berarti menelusuri elemen satu per satu.
saat kita berurusan dengan array multi-dimensi di numpy, kita bisa melakukan ini menggunakan for loop dasar Python.
Jika kita mengulangi/loop pada array 1-D, ia akan melewati setiap elemen satu per satu.
Contoh
Iterasi pada elemen array 1-D berikut.
import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
print(x)Iterating 2-D Arrays
Dalam array 2-D itu akan melewati semua baris.
Contoh
Lakukan iterasi pada elemen array 2D berikut.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
print(x)Jika kita iterasi pada array n -D maka akan melewati dimensi n-1 satu per satu.
Untuk mengembalikan nilai aktual, skalar, kita harus mengulangi/loop 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)Iterating 3-D Arrays
Dalam array 3-D itu akan melalui 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)Untuk mengembalikan nilai aktual, skalar, kita harus mengulangi/loop array di setiap dimensi.
Contoh
Iterasi ke 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)Iterating Arrays Using nditer()
Fungsi nditer() adalah fungsi bantuan yang dapat digunakan dari iterasi yang sangat dasar hingga yang sangat lanjut. Ini memecahkan beberapa masalah dasar yang kita hadapi dalam iterasi, mari kita membahasnya dengan contoh.
Iterating on Each Scalar Element
Dalam for loop dasar, iterasi melalui setiap skalar array kita perlu menggunkan n for loop yang mungkin sulit untuk ditulis untuk 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)Iterating Array With Different Data Types
Kita dapat menggunakan op_dtypes argumen dan memberikan tipe data yang diharapkan untuk mengubah tipe data elemen saat iterasi.
NumPy tidak mengubah tipe data elemen di tempat (dimana elemen berada dalam array) sehingga perlu beberapa ruang lain untuk melakukan tindakan ini, ruang ekstra itu disebut buffer, dan untuk mengaktifkannya di nditer() we 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)Iterating With Different Step Size
Kita bisa menggunakan filtering dan diikuti dengan iterasi.
Contoh
Ulangi/iterate setiap elemen skalar dari array 2-D 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)Enumerated Iteration Using ndenumerate()
Enumeration berarti menyebutkan nomor urut sesuatu satu per satu.
Terkadang kita memerlukan index elemen yang sesuai saat iterasi, ndenumerate() metode ini dapat digunakan untuk kasus penggunaan tersebut.
Contoh
Hitung pada 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
Hitung 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)
Komentar
Posting Komentar