nodes: 0, module; 1, function_definition; 2, function_name:aggregate; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, default_parameter; 13, expression_statement; 14, if_statement; 15, expression_statement; 16, expression_statement; 17, if_statement; 18, identifier:On; 19, None; 20, identifier:AggFuncDict; 21, None; 22, identifier:AggFunc; 23, None; 24, identifier:AggList; 25, None; 26, identifier:returnsort; 27, False; 28, identifier:KeepOthers; 29, True; 30, identifier:keyfuncdict; 31, None; 32, comment:"""
          Aggregate a tabarray on columns for given functions.
  
          Method wraps::
  
                  tabular.spreadsheet.aggregate(self, On, AggFuncDict, AggFunc, returnsort)
  
          """; 33, identifier:returnsort; 34, block; 35, else_clause; 36, assignment; 37, assignment; 38, identifier:returnsort; 39, block; 40, else_clause; 41, expression_statement; 42, block; 43, identifier:data; 44, call; 45, attribute; 46, attribute; 47, return_statement; 48, block; 49, assignment; 50, expression_statement; 51, attribute; 52, argument_list; 53, identifier:data; 54, identifier:coloring; 55, identifier:self; 56, identifier:coloring; 57, list; 58, return_statement; 59, list_pattern; 60, call; 61, assignment; 62, identifier:data; 63, identifier:view; 64, identifier:tabarray; 65, identifier:data; 66, identifier:s; 67, identifier:data; 68, identifier:data; 69, identifier:s; 70, attribute; 71, argument_list; 72, identifier:data; 73, call; 74, identifier:spreadsheet; 75, identifier:aggregate; 76, keyword_argument; 77, keyword_argument; 78, keyword_argument; 79, keyword_argument; 80, keyword_argument; 81, keyword_argument; 82, keyword_argument; 83, attribute; 84, argument_list; 85, identifier:X; 86, identifier:self; 87, identifier:On; 88, identifier:On; 89, identifier:AggFuncDict; 90, identifier:AggFuncDict; 91, identifier:AggFunc; 92, identifier:AggFunc; 93, identifier:AggList; 94, identifier:AggList; 95, identifier:returnsort; 96, identifier:returnsort; 97, identifier:keyfuncdict; 98, identifier:keyfuncdict; 99, identifier:spreadsheet; 100, identifier:aggregate; 101, keyword_argument; 102, keyword_argument; 103, keyword_argument; 104, keyword_argument; 105, keyword_argument; 106, keyword_argument; 107, keyword_argument; 108, keyword_argument; 109, identifier:X; 110, identifier:self; 111, identifier:On; 112, identifier:On; 113, identifier:AggFuncDict; 114, identifier:AggFuncDict; 115, identifier:AggFunc; 116, identifier:AggFunc; 117, identifier:AggList; 118, identifier:AggList; 119, identifier:returnsort; 120, identifier:returnsort; 121, identifier:KeepOthers; 122, identifier:KeepOthers; 123, identifier:keyfuncdict; 124, identifier:keyfuncdict
code: def aggregate(self, On=None, AggFuncDict=None, AggFunc=None, AggList =
                    None, returnsort=False,KeepOthers=True, keyfuncdict=None):
          """
          Aggregate a tabarray on columns for given functions.
  
          Method wraps::
  
                  tabular.spreadsheet.aggregate(self, On, AggFuncDict, AggFunc, returnsort)
  
          """
          if returnsort:
              [data, s] = spreadsheet.aggregate(X=self, 
                       On=On, 
                       AggFuncDict=AggFuncDict, 
                       AggFunc=AggFunc, 
                       AggList=AggList, 
                       returnsort=returnsort, 
                       keyfuncdict=keyfuncdict)
          else:
              data = spreadsheet.aggregate(X=self, On=On, AggFuncDict=AggFuncDict, 
                       AggFunc=AggFunc, AggList = AggList, returnsort=returnsort, 
                       KeepOthers=KeepOthers,
                       keyfuncdict=keyfuncdict)
          data = data.view(tabarray)
          data.coloring = self.coloring
          if returnsort:
              return [data, s]
          else:
              return data