class Polars::LazyGroupBy

Created by ‘df.lazy.group_by(“foo”)`.

def agg(*aggs, **named_aggs)

Other tags:
    Example: Use keyword arguments to easily name your expression inputs. -
    Example: Or use positional arguments to compute multiple aggregations in the same way. -
    Example: Compute multiple aggregates at once by passing a list of expressions. -
    Example: Compute the sum of a column for each group. -
    Example: Compute the aggregation of the columns for each group. -

Returns:
  • (LazyFrame) -

Parameters:
  • named_aggs (Hash) --
  • aggs (Array) --
def agg(*aggs, **named_aggs)
  rbexprs = Utils.parse_into_list_of_expressions(*aggs, **named_aggs)
  Utils.wrap_ldf(@lgb.agg(rbexprs))
end

def all

Returns:
  • (LazyFrame) -
def all
  agg(F.all)
end

def first(ignore_nulls: false)

Returns:
  • (LazyFrame) -

Parameters:
  • ignore_nulls (Boolean) --
def first(ignore_nulls: false)
  agg(F.all.first(ignore_nulls: ignore_nulls))
end

def having(*predicates)

Other tags:
    Example: Only keep groups that contain more than one element. -

Returns:
  • (LazyGroupBy) -

Parameters:
  • predicates (Array) --
def having(*predicates)
  rbexprs = Utils.parse_into_list_of_expressions(*predicates)
  @lgb = @lgb.having(rbexprs)
  self
end

def head(n = 5)

Returns:
  • (LazyFrame) -

Parameters:
  • n (Integer) --
def head(n = 5)
  Utils.wrap_ldf(@lgb.head(n))
end

def initialize(lgb)

Other tags:
    Private: -
def initialize(lgb)
  @lgb = lgb
end

def last(ignore_nulls: false)

Returns:
  • (LazyFrame) -

Parameters:
  • ignore_nulls (Boolean) --
def last(ignore_nulls: false)
  agg(F.all.last(ignore_nulls: ignore_nulls))
end

def len(name: nil)

Returns:
  • (LazyFrame) -

Parameters:
  • name (String) --
def len(name: nil)
  len_expr = F.len
  if !name.nil?
    len_expr = len_expr.alias(name)
  end
  agg(len_expr)
end

def map_groups(

Returns:
  • (LazyFrame) -

Parameters:
  • schema (Object) --

Other tags:
    Note: -
def map_groups(
  schema,
  &function
)
  Utils.wrap_ldf(
    @lgb.map_groups(->(df) { function.(Utils.wrap_df(df))._df }, schema)
  )
end

def max

Returns:
  • (LazyFrame) -
def max
  agg(F.all.max)
end

def mean

Returns:
  • (LazyFrame) -
def mean
  agg(F.all.mean)
end

def median

Returns:
  • (LazyFrame) -
def median
  agg(F.all.median)
end

def min

Returns:
  • (LazyFrame) -
def min
  agg(F.all.min)
end

def n_unique

Returns:
  • (LazyFrame) -
def n_unique
  agg(F.all.n_unique)
end

def quantile(quantile, interpolation: "nearest")

Returns:
  • (LazyFrame) -

Parameters:
  • interpolation ('nearest', 'higher', 'lower', 'midpoint', 'linear', 'equiprobable') --
  • quantile (Float) --
def quantile(quantile, interpolation: "nearest")
  agg(F.all.quantile(quantile, interpolation: interpolation))
end

def sum

Returns:
  • (LazyFrame) -
def sum
  agg(F.all.sum)
end

def tail(n = 5)

Returns:
  • (LazyFrame) -

Parameters:
  • n (Integer) --
def tail(n = 5)
  Utils.wrap_ldf(@lgb.tail(n))
end