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

Jalankan Contoh

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)

Jalankan Contoh

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)

Jalankan Contoh

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)

Jalankan Contoh

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)

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

Jalankan Contoh

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)

Jalankan Contoh

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)

Jalankan Contoh

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)

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