pandas.Index.searchsorted  
Index.searchsorted(self, value, side='left', sorter=None) [source]
 
Find indices where elements should be inserted to maintain order. Find the indices into a sorted Index self such that, if the corresponding elements in value were inserted before the indices, the order of self would be preserved.    
Parameters:

 
value : array_like  
Values to insert into self.  
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 self).  
sorter : 1-D array_like, optional  
Optional array of integer indices that sort self into ascending order. They are typically the result of np.argsort.     
Returns:

 int or array of int 
A scalar or array of insertion points with the same shape as value.  Changed in version 0.24.0: If value is a scalar, an int is now always returned. Previously, scalar inputs returned an 1-item array for Series and Categorical.        See also  
numpy.searchsorted
   Notes Binary search is used to find the required insertion points. Examples >>> x = pd.Series([1, 2, 3])
>>> x
0    1
1    2
2    3
dtype: int64
 >>> x.searchsorted(4)
3
 >>> x.searchsorted([0, 4])
array([0, 3])
 >>> x.searchsorted([1, 3], side='left')
array([0, 2])
 >>> x.searchsorted([1, 3], side='right')
array([1, 3])
 >>> x = pd.Categorical(['apple', 'bread', 'bread',
                        'cheese', 'milk'], ordered=True)
[apple, bread, bread, cheese, milk]
Categories (4, object): [apple < bread < cheese < milk]
 >>> x.searchsorted('bread')
1
 >>> x.searchsorted(['bread'], side='right')
array([3])
 


    
{'path': 'public/docs/pandas~0.25/reference/api/pandas.index.searchsorted.html', 'source': 'DevDocs.IO'}