nodes: 0, module; 1, function_definition; 2, function_name:sort_index; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, expression_statement; 8, if_statement; 9, return_statement; 10, identifier:ascending; 11, True; 12, comment:"""Sort the index of the DataFrame.
  
          Currently MultiIndex is not supported since Weld is missing multiple-column sort.
  
          Note this is an expensive operation (brings all data to Weld).
  
          Parameters
          ----------
          ascending : bool, optional
  
          Returns
          -------
          DataFrame
              DataFrame sorted according to the index.
  
          """; 13, call; 14, block; 15, call; 16, identifier:isinstance; 17, argument_list; 18, raise_statement; 19, attribute; 20, argument_list; 21, attribute; 22, identifier:MultiIndex; 23, call; 24, identifier:self; 25, identifier:sort_values; 26, call; 27, identifier:ascending; 28, identifier:self; 29, identifier:index; 30, identifier:NotImplementedError; 31, argument_list; 32, attribute; 33, argument_list; 34, string; 35, attribute; 36, identifier:_gather_names; 37, string_content:Weld does not yet support sorting on multiple columns; 38, identifier:self; 39, identifier:index
code: def sort_index(self, ascending=True):
          """Sort the index of the DataFrame.
  
          Currently MultiIndex is not supported since Weld is missing multiple-column sort.
  
          Note this is an expensive operation (brings all data to Weld).
  
          Parameters
          ----------
          ascending : bool, optional
  
          Returns
          -------
          DataFrame
              DataFrame sorted according to the index.
  
          """
          if isinstance(self.index, MultiIndex):
              raise NotImplementedError('Weld does not yet support sorting on multiple columns')
  
          return self.sort_values(self.index._gather_names(), ascending)