Method: Polars::DynamicGroupBy#agg

Defined in:
lib/polars/dynamic_group_by.rb

#agg(*aggs, **named_aggs) ⇒ DataFrame

Compute aggregations for each group of a group by operation.

Parameters:

  • aggs (Array)

    Aggregations to compute for each group of the group by operation, specified as positional arguments. Accepts expression input. Strings are parsed as column names.

  • named_aggs (Hash)

    Additional aggregations, specified as keyword arguments. The resulting columns will be renamed to the keyword used.

Returns:



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/polars/dynamic_group_by.rb', line 78

def agg(*aggs, **named_aggs)
  group_by =
    @df.lazy.group_by_dynamic(
      @time_column,
      every: @every,
      period: @period,
      offset: @offset,
      include_boundaries: @include_boundaries,
      closed: @closed,
      label: @label,
      group_by: @group_by,
      start_by: @start_by
    )

  if @predicates&.any?
    group_by = group_by.having(@predicates)
  end

  group_by.agg(*aggs, **named_aggs).collect(
    optimizations: QueryOptFlags.none
  )
end