searchsorted(self, value: 'NumpyValueArrayLike | ExtensionArray', side: "Literal['left', 'right']" = 'left', sorter: 'NumpySorter' = None) -> 'npt.NDArray[np.intp] | np.intp'
Find the indices into a sorted Series :None:None:`self`
such that, if the corresponding elements in :None:None:`value`
were inserted before the indices, the order of :None:None:`self`
would be preserved.
The Series must be monotonically sorted, otherwise wrong locations will likely be returned. Pandas does not check this for you.
Binary search is used to find the required insertion points.
Values to insert into :None:None:`self`
.
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 :None:None:`self`
).
Optional array of integer indices that sort :None:None:`self`
into ascending order. They are typically the result of np.argsort
.
A scalar or array of insertion points with the same shape as :None:None:`value`
.
Find indices where elements should be inserted to maintain order.
numpy.searchsorted
Similar method from NumPy.
sort_values
Sort by the values along either axis.
>>> ser = pd.Series([1, 2, 3])This example is valid syntax, but we were not able to check execution
... ser 0 1 1 2 2 3 dtype: int64
>>> ser.searchsorted(4) 3This example is valid syntax, but we were not able to check execution
>>> ser.searchsorted([0, 4]) array([0, 3])This example is valid syntax, but we were not able to check execution
>>> ser.searchsorted([1, 3], side='left') array([0, 2])This example is valid syntax, but we were not able to check execution
>>> ser.searchsorted([1, 3], side='right') array([1, 3])This example is valid syntax, but we were not able to check execution
>>> ser = pd.Series(pd.to_datetime(['3/11/2000', '3/12/2000', '3/13/2000']))This example is valid syntax, but we were not able to check execution
... ser 0 2000-03-11 1 2000-03-12 2 2000-03-13 dtype: datetime64[ns]
>>> ser.searchsorted('3/14/2000') 3This example is valid syntax, but we were not able to check execution
>>> ser = pd.Categorical(This example is valid syntax, but we were not able to check execution
... ['apple', 'bread', 'bread', 'cheese', 'milk'], ordered=True
... )
... ser ['apple', 'bread', 'bread', 'cheese', 'milk'] Categories (4, object): ['apple' < 'bread' < 'cheese' < 'milk']
>>> ser.searchsorted('bread') 1This example is valid syntax, but we were not able to check execution
>>> ser.searchsorted(['bread'], side='right') array([3])
If the values are not monotonically sorted, wrong locations may be returned:
This example is valid syntax, but we were not able to check execution>>> ser = pd.Series([2, 1, 3])This example is valid syntax, but we were not able to check execution
... ser 0 2 1 1 2 3 dtype: int64
>>> ser.searchsorted(1) # doctest: +SKIP 0 # wrong result, correct would be 1See :
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them