numpy.searchsorted(a, v, side='left')

Find indices where elements should be inserted to maintain order.

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.

Parameters :

a : 1-D array_like

Input array, sorted in ascending order.

v : array_like

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 either 0 or N (where N is the length of a).

Returns :

indices : array of ints

Array of insertion points with the same shape as v.

See also

Return a sorted copy of an array.
Produce histogram from 1-D data.


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.


>>> np.searchsorted([1,2,3,4,5], 3)
>>> np.searchsorted([1,2,3,4,5], 3, side='right')
>>> np.searchsorted([1,2,3,4,5], [-10, 10, 2, 3])
array([0, 5, 1, 2])

Previous topic


Next topic


This Page