parameters: (self, start=None, end=None, step=None, kind=None)
return_statement: return slice(start_slice, end_slice, step)
docstring: For an ordered or unique index, compute the slice indexer for input
          labels and step.
  
          Parameters
          ----------
          start : label, default None
              If None, defaults to the beginning.
          end : label, default None
              If None, defaults to the end.
          step : int, default None
          kind : str, default None
  
          Returns
          -------
          indexer : slice
  
          Raises
          ------
          KeyError : If key does not exist, or key is not unique and index is
              not ordered.
  
          Notes
          -----
          This function assumes that the data is sorted, so use at your own peril
  
          Examples
          --------
          This is a method on all index types. For example you can do:
  
          >>> idx = pd.Index(list('abcd'))
          >>> idx.slice_indexer(start='b', end='c')
          slice(1, 3)
  
          >>> idx = pd.MultiIndex.from_arrays([list('abcd'), list('efgh')])
          >>> idx.slice_indexer(start='b', end=('c', 'g'))
          slice(1, 3)
docstring_summary: For an ordered or unique index, compute the slice indexer for input
          labels and step.
docstring_tokens: For an ordered or unique index compute the slice indexer for input labels and step .
function: def slice_indexer(self, start=None, end=None, step=None, kind=None):
          """
          For an ordered or unique index, compute the slice indexer for input
          labels and step.
  
          Parameters
          ----------
          start : label, default None
              If None, defaults to the beginning.
          end : label, default None
              If None, defaults to the end.
          step : int, default None
          kind : str, default None
  
          Returns
          -------
          indexer : slice
  
          Raises
          ------
          KeyError : If key does not exist, or key is not unique and index is
              not ordered.
  
          Notes
          -----
          This function assumes that the data is sorted, so use at your own peril
  
          Examples
          --------
          This is a method on all index types. For example you can do:
  
          >>> idx = pd.Index(list('abcd'))
          >>> idx.slice_indexer(start='b', end='c')
          slice(1, 3)
  
          >>> idx = pd.MultiIndex.from_arrays([list('abcd'), list('efgh')])
          >>> idx.slice_indexer(start='b', end=('c', 'g'))
          slice(1, 3)
          """
          start_slice, end_slice = self.slice_locs(start, end, step=step, kind=kind)
  
          # return a slice
          if not is_scalar(start_slice):
              raise AssertionError("Start slice bound is non-scalar")
          if not is_scalar(end_slice):
              raise AssertionError("End slice bound is non-scalar")
  
          return slice(start_slice, end_slice, step)
function_tokens: def slice_indexer ( self , start = None , end = None , step = None , kind = None ) : start_slice , end_slice = self . slice_locs ( start , end , step = step , kind = kind ) # return a slice if not is_scalar ( start_slice ) : raise AssertionError ( "Start slice bound is non-scalar" ) if not is_scalar ( end_slice ) : raise AssertionError ( "End slice bound is non-scalar" ) return slice ( start_slice , end_slice , step )