flopscope.numpy.flatnonzero
fnp.flatnonzero(a)[flopscope source][numpy source]
Return indices that are non-zero in the flattened version of a.
Adapted from NumPy docs np.flatnonzero
Cost
per-operation
Flopscope Context
Return indices of non-zero elements in flattened array. Cost: numel(input).
This is equivalent to flops.nonzero(flops.ravel(a))[0].
Parameters
- a:array_like
Input data.
Returns
- res:ndarray
Output array, containing the indices of the elements of
a.ravel()that are non-zero.
See also
- we.flops.nonzero Return the indices of the non-zero elements of the input array.
- we.flops.ravel Return a 1-D array containing the elements of the input array.
Examples
>>> import flopscope.numpy as fnp
>>> x = flops.arange(-2, 3)
>>> x
array([-2, -1, 0, 1, 2])
>>> flops.flatnonzero(x)
array([0, 1, 3, 4])Use the indices of the non-zero elements as an index array to extract these elements:
>>> x.ravel()[flops.flatnonzero(x)]
array([-2, -1, 1, 2])