Iterasi 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 kita mengiterasi array 1-D, ia akan mengelilingi setiap elemen secara berturut-turut.

Contoh

Mengiterasi elemen berikut array 1-D:

import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
  print(x)

Jalankan Contoh

Mengiterasi array 2-D

Dalam array 2-D, ia akan mengelilingi semua baris.

Contoh

Mengiterasi elemen berikut array 2-D:

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
  print(x)

Jalankan Contoh

Jika kita mengiterasi array n-D, ia akan mengelilingi dimensi n-1 secara berturut-turut.

Untuk kembalikan nilai aktual, skalar, kita harus mengiterasi setiap array dalam dimensi.

Contoh

Mengiterasi setiap elemen skalar 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)

Jalankan Contoh

Mengiterasi array 3-D

Dalam array 3-D, ia akan mengelilingi semua array 2-D.

Contoh

Mengiterasi elemen berikut 3-D array:

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)

Jalankan Contoh

Untuk kembalikan nilai aktual, skalar, kita harus mengiterasi setiap array dalam dimensi.

Contoh

Mengiterasi 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)

Jalankan Contoh

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 kitahadapi dalam iterasi, lho kita jelaskan melalui contoh.

Mengiterasi setiap elemen skalar

Dalam dasar for Dalam perulangan, untuk mengiterasi setiap skalar dalam array, kita perlu menggunakan n for Perulangan, untuk array dengan dimensi tinggi mungkin sulit untuk ditulis.

Contoh

Mengelilingi berikut 3-D array:

import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
  print(x)

Jalankan Contoh

iterasi array berbagai tipe data

Kami dapat menggunakan op_dtypes Parameter, lho kirim tipe data yang diharapkan, untuk mengubah tipe data elemen dalam iterasi.

NumPy tidak akan mengubah tipe data elemen secara lokal (elemen berada di dalam array), sehingga ia memerlukan ruang ekstra untuk melaksanakan operasi ini, ruang ekstra ini disebut buffer, untuk nditer() Jika mengaktifkan di flags=['buffered'].

Contoh

Mengiterasi 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)

Jalankan Contoh

Iterasi dengan langkah yang berbeda

Kami dapat menggunakan pengecualian, lalu lakukan iterasi.

Contoh

Setiap kali mengiterasi 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)

Jalankan Contoh

Iterasi daftar menggunakan ndenumerate()

Daftar adalah mengutip urutan urutan hal.

Kadang-kadang, saat mengiterasi, kita memerlukan indeks elemen yang relevan, untuk kasus ini, kita 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)

Jalankan Contoh

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)

Jalankan Contoh