nodes: 0, module; 1, function_definition; 2, function_name:cummean; 3, parameters; 4, block; 5, identifier:expr; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, expression_statement; 12, expression_statement; 13, return_statement; 14, identifier:sort; 15, None; 16, identifier:ascending; 17, True; 18, identifier:unique; 19, False; 20, identifier:preceding; 21, None; 22, identifier:following; 23, None; 24, comment:"""
      Calculate cumulative mean of a sequence expression.
  
      :param expr: expression for calculation
      :param sort: name of the sort column
      :param ascending: whether to sort in ascending order
      :param unique: whether to eliminate duplicate entries
      :param preceding: the start point of a window
      :param following: the end point of a window
      :return: calculated column
      """; 25, assignment; 26, call; 27, identifier:data_type; 28, call; 29, identifier:_cumulative_op; 30, argument_list; 31, identifier:_stats_type; 32, argument_list; 33, identifier:expr; 34, identifier:CumMean; 35, keyword_argument; 36, keyword_argument; 37, keyword_argument; 38, keyword_argument; 39, keyword_argument; 40, keyword_argument; 41, identifier:expr; 42, identifier:sort; 43, identifier:sort; 44, identifier:ascending; 45, identifier:ascending; 46, identifier:unique; 47, identifier:unique; 48, identifier:preceding; 49, identifier:preceding; 50, identifier:following; 51, identifier:following; 52, identifier:data_type; 53, identifier:data_type
code: def cummean(expr, sort=None, ascending=True, unique=False,
              preceding=None, following=None):
      """
      Calculate cumulative mean of a sequence expression.
  
      :param expr: expression for calculation
      :param sort: name of the sort column
      :param ascending: whether to sort in ascending order
      :param unique: whether to eliminate duplicate entries
      :param preceding: the start point of a window
      :param following: the end point of a window
      :return: calculated column
      """
      data_type = _stats_type(expr)
      return _cumulative_op(expr, CumMean, sort=sort, ascending=ascending,
                            unique=unique, preceding=preceding,
                            following=following, data_type=data_type)