# Iterate Over Rows of a Numpy Array in Python

Vaibhhav Khetarpal Aug 09, 2022

Python mainly utilizes the `NumPy` library to allow the implementation of arrays in its code; these arrays can be n-dimensional. Iterating over the elements of an array is one of the few things a programmer may encounter while implementing arrays.

This tutorial demonstrates how to iterate over rows of a `NumPy` array in Python.

The concept of rows and columns does not exist in a one-dimensional array; therefore, we will discuss arrays with at least two dimensions. Most of the methods and implementations in this article would be carried out on a two-dimensional array.

## Use a Nested `for` Loop to Iterate Over Rows of a Numpy Array in Python

For iterating the elements of a single row, we may be able to utilize the `for` loop alone. However, for iterating over multiple rows of a `NumPy` array, we need to nest the `for` loop.

The working is straightforward, and the code uses nested `for` loops to access and iterate over all the elements of an array row-wise.

The following code uses a nested `for` loop to iterate over rows of a `NumPy` array in Python.

``````import numpy as np
x = np.matrix([[21,22,23],
[24,25,26],
[27,28,29]])
for row in x:
print (str(row))
``````

The above code provides the following output:

``````[[21 22 23]]
[[24 25 26]]
[[27 28 29]]
``````

Here, we used the `print` command to print every row. If more details are given, then any function can also be implemented over the rows of a `NumPy` array.

## Use a `for` Loop and the `flatten()` Function to Iterate Over Rows of a Numpy Array in Python

Instead of nesting the `for` loop, we can take an alternative route, which uses the `flatten()` function to iterate over rows of a `NumPy` array in Python. The `flatten()` function can convert a two-dimensional array into a one-dimensional one, which makes it possible to get the result needed by applying the `for` loop just once in the program.

The following code uses a `for` loop and the `flatten()` function to iterate over rows of a `NumPy` array in Python.

``````import numpy as np
x = np.matrix([[21,22,23],
[24,25,26],
[27,28,29]])
for cell in x.flatten():
print(cell, end=' ')
``````

The above code provides the following output:

``````[[21 22 23 24 25 26 27 28 29]]
``````

## Use the `apply_along_axis()` Function to Iterate Over Rows of a Numpy Array in Python

The `NumPy` library provides the `NumPy.apply_along_axis()` function that can apply a function to the elements of an array along any axis specified by the programmer. The `apply_along_axis()` function has a simple syntax, which takes in the function that the programmer needs to implement, the axis specified, and the array on which the implementation needs to occur.

The following code uses the `apply_along_axis()` function to iterate over rows of a `NumPy` array in Python.

``````import numpy as np
x = np.matrix([[21,22,23],
[24,25,26],
[27,28,29]])
def myfunction(a):
return a
print(np.apply_along_axis(myfunction, axis=1, arr=x))
``````

The above code provides the following output:

``````[[21 22 23]
[24 25 26]
[27 28 29]]
``````

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.