pandas.IntervalIndex.get_indexer#
- IntervalIndex.get_indexer(target, method=None, limit=None, tolerance=None)[source]#
- Compute indexer and mask for new index given the current index. - The indexer should be then used as an input to ndarray.take to align the current data to the new index. - Parameters:
- targetIndex
- method{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, optional
- default: exact matches only. 
- pad / ffill: find the PREVIOUS index value if no exact match. 
- backfill / bfill: use NEXT index value if no exact match 
- nearest: use the NEAREST index value if no exact match. Tied distances are broken by preferring the larger index value. 
 
- limitint, optional
- Maximum number of consecutive labels in - targetto match for inexact matches.
- toleranceoptional
- Maximum distance between original and new labels for inexact matches. The values of the index at the matching locations must satisfy the equation - abs(index[indexer] - target) <= tolerance.- Tolerance may be a scalar value, which applies the same tolerance to all values, or list-like, which applies variable tolerance per element. List-like includes list, tuple, array, Series, and must be the same size as the index and its dtype must exactly match the index’s type. 
 
- Returns:
- np.ndarray[np.intp]
- Integers from 0 to n - 1 indicating that the index at these positions matches the corresponding target values. Missing values in the target are marked by -1. 
 
 - Notes - Returns -1 for unmatched values, for further explanation see the example below. - Examples - >>> index = pd.Index(['c', 'a', 'b']) >>> index.get_indexer(['a', 'b', 'x']) array([ 1, 2, -1]) - Notice that the return value is an array of locations in - indexand- xis marked by -1, as it is not in- index.