Index.get_loc(key, method=None, tolerance=None)[source]#

Get integer location, slice or boolean mask for requested label.

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.

Deprecated since version 1.4: Use index.get_indexer([item], method=…) instead.

toleranceint or float, optional

Maximum distance from index value for inexact matches. The value of the index at the matching location must satisfy the equation abs(index[loc] - key) <= tolerance.

locint if unique index, slice if monotonic index, else mask


>>> unique_index = pd.Index(list('abc'))
>>> unique_index.get_loc('b')
>>> monotonic_index = pd.Index(list('abbc'))
>>> monotonic_index.get_loc('b')
slice(1, 3, None)
>>> non_monotonic_index = pd.Index(list('abcb'))
>>> non_monotonic_index.get_loc('b')
array([False,  True, False,  True])