dpnp.searchsorted
- dpnp.searchsorted(a, v, side='left', sorter=None)
Find indices where elements should be inserted to maintain order.
For full documentation refer to
numpy.searchsorted
.- Parameters:
a ({dpnp.ndarray, usm_ndarray}) -- Input 1-D array. If sorter is
None
, then it must be sorted in ascending order, otherwise sorter must be an array of indices that sort it.v ({dpnp.ndarray, usm_ndarray, scalar}) -- Values to insert into a.
side ({"left", "right"}, optional) --
If
"left"
, the index of the first suitable location found is given. If"right"
, return the last such index. If there is no suitable index, return either0
orN
(whereN
is the length of a).Default:
"left"
.sorter ({None, dpnp.ndarray, usm_ndarray}, optional) --
Optional 1-D array of integer indices that sort array a into ascending order. They are typically the result of
dpnp.argsort()
. Out of bound index values of sorter array are treated using"wrap"
mode documented indpnp.take()
.Default:
None
.
- Returns:
indices -- Array of insertion points with the same shape as v, or 0-D array if v is a scalar.
- Return type:
dpnp.ndarray
See also
dpnp.sort
Return a sorted copy of an array.
dpnp.histogram
Produce histogram from 1-D data.
Examples
>>> import dpnp as np >>> a = np.array([11, 12, 13, 14, 15]) >>> np.searchsorted(a, 13) array(2) >>> np.searchsorted(a, 13, side='right') array(3) >>> v = np.array([-10, 20, 12, 13]) >>> np.searchsorted(a, v) array([0, 5, 1, 2])
When sorter is used, the returned indices refer to the sorted array of a and not a itself:
>>> a = np.array([40, 10, 20, 30]) >>> sorter = np.argsort(a) >>> sorter array([1, 2, 3, 0]) # Indices that would sort the array 'a' >>> result = np.searchsorted(a, 25, sorter=sorter) >>> result array(2) >>> a[sorter[result]] array(30) # The element at index 2 of the sorted array is 30