🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to NumPy Notes
Topic #11

NumPy Array Iterating


Iterating Arrays

Iterating means going through elements one by one.

As we deal with multi-dimensional arrays in numpy, we can do this using basic for loop of python.

If we iterate on a 1-D array it will go through each element one by one.

Example

import numpy as np

arr = np.array([1, 2, 3])

for x in arr:

print(x)

Iterating 2-D Arrays

In a 2-D array it will go through all the rows.

Example

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

for x
in arr:
  print(x)

Note: If we iterate on a n-D array it will go through n-1th dimension one by one.

To return the actual values, the scalars, we have to iterate the arrays in each dimension.

Example

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

In a 3-D array it will go through all the 2-D arrays.

Example

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)

To return the actual values, the scalars, we have to iterate the arrays in each dimension.

Example

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

The function nditer() is a helping function that can be used from very basic to very advanced iterations. It solves some basic issues which we face in iteration, lets go through it with examples.

Iterating on Each Scalar Element

In basic for loops, iterating through each scalar of an array we need to use n for loops which can be difficult to write for arrays with very high dimensionality.

Example

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

We can use op_dtypes argument and pass it the expected datatype to change the datatype of elements while iterating.

NumPy does not change the data type of the element in-place (where the element is in array) so it needs some other space to perform this action, that extra space is called buffer, and in order to enable it in nditer() we pass flags=['buffered'].

Example

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

We can use filtering and followed by iteration.

Example

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 means mentioning sequence number of somethings one by one.

Sometimes we require corresponding index of the element while iterating, the ndenumerate() method can be used for those usecases.

Example

import numpy as np

arr = np.array([1, 2, 3])

for idx, x in
np.ndenumerate(arr):
  print(idx, x)

Example

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)

Want to go beyond the notes?

Join CodingNow 2.0's NumPy course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

NumPy Array Iterating – FAQs

Quick answers about learning NumPy Array Iterating in NumPy.

This free note from CodingNow 2.0 explains NumPy Array Iterating in NumPy — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every NumPy topic on CodingNow 2.0, including NumPy Array Iterating, is 100% free with no signup required.
With focused practice, most students grasp NumPy Array Iterating in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now