numpy.nonzero()function is used to Compute the indices of the elements that are non-zero.
It returns a tuple of arrays, one for each dimension of arr, containing the indices of the non-zero elements in that dimension.
The corresponding non-zero values in the array can be obtained with arr[nonzero(arr)] . To group the indices by element, rather than dimension we can use transpose(nonzero(arr)).
Syntax : numpy.nonzero(arr)
Parameters :
arr : [array_like] Input array.Return : [tuple_of_arrays] Indices of elements that are non-zero.
Code #1 : Working
# Python program explaining# nonzero() function  import numpy as geekarr = geek.array([[0, 8, 0], [7, 0, 0], [-5, 0, 1]])  print ("Input array : \n", arr)    out_tpl = geek.nonzero(arr)print ("Indices of non zero elements : ", out_tpl) |
Output :
Input array :
[[ 0 8 0]
[ 7 0 0]
[-5 0 1]]
Indices of non zero elements : (array([0, 1, 2, 2], dtype=int64), array([1, 0, 0, 2], dtype=int64))
Â
Code #2 :
# Python program for getting# The corresponding non-zero values:out_arr = arr[geek.nonzero(arr)]Â Â print ("Output array of non-zero number: ", out_arr)Â |
Output :
Output array of non-zero number: [ 8 7 -5 1]
Â
Code #3 :
# Python program for grouping the indices# by element, rather than dimension  out_ind = geek.transpose(geek.nonzero(arr))  print ("indices of non-zero number: \n", out_ind) |
Output :
indices of non-zero number: [[0 1] [1 0] [2 0] [2 2]]
