This is a pre-release version (2.5.0.dev0+git20251130.2de293a). Go to latest (2.4.4)
{ } Raw JSON

bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / searchsorted

_ArrayFunctionDispatcher

numpy:searchsorted

source: /dev/numpy/build-install/usr/lib/python3.14/site-packages/numpy/_core/fromnumeric.py :1421

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_like

Input 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 : 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).

sorter : 1-D array_like, optional

Optional array of integer indices that sort array a into ascending order. They are typically the result of argsort.

Returns

indices : int or array of ints

Array of insertion points with the same shape as v, or an integer if v is 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])
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
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