Open In App

numpy.nonzero() in Python

Last Updated : 30 Jun, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

numpy.nonzero() function returns the indices of the elements in an array that are non-zero. It is commonly used to find the positions of non-zero (or True) elements in arrays.

Example:

Python
import numpy as np
a = np.array([0, 2, 0, 3, 0, 4])
res = np.nonzero(a)
print(res)

Output
(array([1, 3, 5]),)

Explanation: The elements at index 1, 3 and 5 are non-zero, so np.nonzero() returns their indices.

Syntax

numpy.nonzero(a)

Parameters: a is Input array (can be 1D, 2D or higher dimensional).

Returns: This method returns a tuple of arrays, one for each dimension of the input array. Each array contains the indices of the non-zero elements along that dimension.

Examples

Example 1: 2D array

Python
import numpy as np
a = np.array([[0, 1, 0], [2, 0, 3]])
res = np.nonzero(a)
print(res)

Output
(array([0, 1, 1]), array([1, 0, 2]))

Explanation: np.nonzero(a) returns a tuple of two arrays: the first array represents the row indices and the second represents the column indices where the non-zero elements are located.

Example 2: Using with array indexing

Python
import numpy as np
a = np.array([[0, 1], [2, 0]])
rows, cols = np.nonzero(a)
print(rows)
print(cols)

Output
[0 1]
[1 0]

Explanation: We unpack np.nonzero(a) into rows and cols, which represent the row and column indices of non-zero elements. Here, a[0, 1] = 1 and a[1, 0] = 2, so the output [0 1] and [1 0] gives their positions.


Next Article
Practice Tags :

Similar Reads