flopscope.numpy.unique_inverse
fnp.unique_inverse(x: 'ArrayLike', /) -> 'Any'[flopscope source][numpy source]
Find the unique elements of `x` and indices to reconstruct `x`.
Adapted from NumPy docs np.unique_inverse
Cost
per-operation
Flopscope Context
Sort-based unique; cost = n*ceil(log2(n)).
Find the unique elements of x and indices to reconstruct x.
This function is an Array API compatible alternative to:
flops.unique(x, return_inverse=True, equal_nan=False)but returns a namedtuple for easier access to each output.
Parameters
- x:array_like
Input array. It will be flattened if it is not already 1-D.
Returns
- out:namedtuple
The result containing:
values - The unique elements of an input array.
inverse_indices - The indices from the set of unique elements that reconstruct
x.
See also
- we.flops.unique Find the unique elements of an array.
Examples
>>> import flopscope.numpy as fnp
>>> x = [1, 1, 2]
>>> uniq = flops.unique_inverse(x)
>>> uniq.values
array([1, 2])
>>> uniq.inverse_indices
array([0, 0, 1])