code: def sort_values(self, return_indexer=False, ascending=True):
          
          _as = self.argsort()
          if not ascending:
              _as = _as[::-1]
  
          sorted_index = self.take(_as)
  
          if return_indexer:
              return sorted_index, _as
          else:
              return sorted_index
docs: Return a sorted copy of the index.
  
          Return a sorted copy of the index, and optionally return the indices
          that sorted the index itself.
  
          Parameters
          ----------
          return_indexer : bool, default False
              Should the indices that would sort the index be returned.
          ascending : bool, default True
              Should the index values be sorted in an ascending order.
  
          Returns
          -------
          sorted_index : pandas.Index
              Sorted copy of the index.
          indexer : numpy.ndarray, optional
              The indices that the index itself was sorted by.
  
          See Also
          --------
          Series.sort_values : Sort values of a Series.
          DataFrame.sort_values : Sort values in a DataFrame.
  
          Examples
          --------
          >>> idx = pd.Index([10, 100, 1, 1000])
          >>> idx
          Int64Index([10, 100, 1, 1000], dtype='int64')
  
          Sort values in ascending order (default behavior).
  
          >>> idx.sort_values()
          Int64Index([1, 10, 100, 1000], dtype='int64')
  
          Sort values in descending order, and also get the indices `idx` was
          sorted by.
  
          >>> idx.sort_values(ascending=False, return_indexer=True)
          (Int64Index([1000, 100, 10, 1], dtype='int64'), array([3, 1, 0, 2]))