Iterasi Array NumPy
- Hal Sebelumnya Ukuran Array NumPy
- Hal Berikutnya Koneksi Array NumPy
Iterasi array
Iterasi berarti mengelilingi elemen secara berturut-turut.
Ketika kita mengelola array multidimensi di numpy, kita dapat menggunakan perulangan dasar python untuk melakukannya.
Jika kami mengiterasi array 1-D, ia akan mengelilingi setiap elemen secara berturut-turut.
Contoh
Iterasi elemen array 1-D berikut:
import numpy as np arr = np.array([1, 2, 3]) for x in arr: print(x)
Iterasi array 2-D
Dalam array 2-D, ia akan mengelilingi semua baris.
Contoh
Iterasi 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 kami mengiterasi array n-D, ia akan mengelilingi dimensi n-1 secara berturut-turut.
Untuk mengembalikan nilai asli, scalar, kami harus mengiterasi setiap array dalam dimensi.
Contoh
Iterasi setiap elemen scalar 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 array 3-D
Dalam array 3-D, ia akan mengelilingi semua array 2-D.
Contoh
Iterasi 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 asli, scalar, kami harus mengiterasi setiap array dalam dimensi.
Contoh
Iterasi ke scalar:
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)
menggunakan nditer() untuk mengiterasi array
fungsi nditer()
adalah fungsi bantuan, yang dapat digunakan dari iterasi yang sangat dasar hingga yang sangat tinggi. Ia menyelesaikan beberapa masalah dasar yang kita hadapi dalam iterasi, dan kita akan menjelaskan melalui contoh.
iterasi setiap elemen scalar
dalam dasar for
dalam perulangan, untuk mengiterasi setiap scalar dalam array, kami perlu menggunakan n for
Perulangan, untuk array dengan dimensi tinggi mungkin sukar untuk ditulis.
Contoh
Lengkapkan 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 jenis data yang berbeza
Kami boleh gunakan op_dtypes
参数,dan menghantar jenis data yang diharapkan, untuk mengubah jenis data elemen dalam iterasi.
NumPy tidak akan mengubah jenis data elemen secara tempat (elemen berada di dalam array), sehingga ia memerlukan ruang ekstra untuk melaksanakan operasi ini, ruang ekstra ini disebut buffer, untuk nditer()
Jika diaktifkan di flags=['buffered']
.
Contoh
Mengelilingi array dalam bentuk 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 langkah berbeda
Kami dapat menggunakan penapisan, lalu melakukan iterasi.
Contoh
Setiap kali mengalami elemen skalar 2D array, lewati 1 elemen:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for x in np.nditer(arr,): print(x)
Iterasi dengan ndenumerate()
Daftar adalah untuk menyebut urutan hal-hal.
Kadang-kadang, saat mengiterasi, kami memerlukan indeks elemen yang relevan, untuk kasus-kasus ini, kami dapat menggunakan ndenumerate()
Metode.
Contoh
Daftar elemen 1D array berikut ini:
import numpy as np arr = np.array([1, 2, 3]) for idx, x in np.ndenumerate(arr): print(idx, x)
Contoh
Daftar elemen 2D array berikut ini:
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)
- Hal Sebelumnya Ukuran Array NumPy
- Hal Berikutnya Koneksi Array NumPy