code: def remap_label_indexers(data_obj, indexers, method=None, tolerance=None):
      
      if method is not None and not isinstance(method, str):
          raise TypeError('``method`` must be a string')
  
      pos_indexers = {}
      new_indexes = {}
  
      dim_indexers = get_dim_indexers(data_obj, indexers)
      for dim, label in dim_indexers.items():
          try:
              index = data_obj.indexes[dim]
          except KeyError:
              # no index for this dimension: reuse the provided labels
              if method is not None or tolerance is not None:
                  raise ValueError('cannot supply ``method`` or ``tolerance`` '
                                   'when the indexed dimension does not have '
                                   'an associated coordinate.')
              pos_indexers[dim] = label
          else:
              idxr, new_idx = convert_label_indexer(index, label,
                                                    dim, method, tolerance)
              pos_indexers[dim] = idxr
              if new_idx is not None:
                  new_indexes[dim] = new_idx
  
      return pos_indexers, new_indexes
docs: Given an xarray data object and label based indexers, return a mapping
      of equivalent location based indexers. Also return a mapping of updated
      pandas index objects (in case of multi-index level drop).