bundles / numpy 2.4.3 / numpy / searchsorted
_ArrayFunctionDispatcher
numpy:searchsorted
Signature
def searchsorted ( a , v , side = left , sorter = None ) Summary
Find indices where elements should be inserted to maintain order.
Extended Summary
Find the indices into a sorted array a such that, if the corresponding elements in v were inserted before the indices, the order of a would be preserved.
Assuming that a is sorted:
====== ============================ `side` returned index `i` satisfies ====== ============================ left ``a[i-1] < v <= a[i]`` right ``a[i-1] <= v < a[i]`` ====== ============================
Parameters
a: 1-D array_likeInput array. If
sorteris None, then it must be sorted in ascending order, otherwisesortermust be an array of indices that sort it.v: array_likeValues to insert into
a.side: {'left', 'right'}, optionalIf '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 either 0 or N (where N is the length of
a).sorter: 1-D array_like, optionalOptional array of integer indices that sort array a into ascending order. They are typically the result of argsort.
Returns
indices: int or array of intsArray of insertion points with the same shape as
v, or an integer ifvis a scalar.
Notes
Binary search is used to find the required insertion points.
As of NumPy 1.4.0 searchsorted works with real/complex arrays containing nan values. The enhanced sort order is documented in sort.
This function uses the same algorithm as the builtin python bisect.bisect_left (side='left') and bisect.bisect_right (side='right') functions, which is also vectorized in the v argument.
Examples
import numpy as np
✓np.searchsorted([11,12,13,14,15], 13) np.searchsorted([11,12,13,14,15], 13, side='right')✗
np.searchsorted([11,12,13,14,15], [-10, 20, 12, 13])
✓a = np.array([40, 10, 20, 30]) sorter = np.argsort(a)✓
sorter
✗result = np.searchsorted(a, 25, sorter=sorter)
✓result a[sorter[result]]✗
See also
- histogram
Produce histogram from 1-D data.
- sort
Return a sorted copy of an array.
Aliases
-
numpy.searchsorted
Referenced by
Other packages
- scipy tutorial:interpolate:1D