nodes: 0, module; 1, function_definition; 2, function_name:sorted; 3, parameters; 4, block; 5, identifier:self; 6, identifier:by; 7, dictionary_splat_pattern; 8, expression_statement; 9, expression_statement; 10, return_statement; 11, identifier:kwargs; 12, comment:"""Sort array by a column.
  
          Parameters
          ==========
          by: str
              Name of the columns to sort by(e.g. 'time').
          """; 13, assignment; 14, call; 15, identifier:sort_idc; 16, call; 17, attribute; 18, argument_list; 19, attribute; 20, argument_list; 21, identifier:self; 22, identifier:__class__; 23, subscript; 24, keyword_argument; 25, keyword_argument; 26, keyword_argument; 27, identifier:np; 28, identifier:argsort; 29, subscript; 30, dictionary_splat; 31, identifier:self; 32, identifier:sort_idc; 33, identifier:h5loc; 34, attribute; 35, identifier:split_h5; 36, attribute; 37, identifier:name; 38, attribute; 39, identifier:self; 40, identifier:by; 41, identifier:kwargs; 42, identifier:self; 43, identifier:h5loc; 44, identifier:self; 45, identifier:split_h5; 46, identifier:self; 47, identifier:name
code: def sorted(self, by, **kwargs):
          """Sort array by a column.
  
          Parameters
          ==========
          by: str
              Name of the columns to sort by(e.g. 'time').
          """
          sort_idc = np.argsort(self[by], **kwargs)
          return self.__class__(
              self[sort_idc],
              h5loc=self.h5loc,
              split_h5=self.split_h5,
              name=self.name
          )