polars_lazy::dsl

Function apply_multiple

Source
pub fn apply_multiple<F, E>(
    function: F,
    expr: E,
    output_type: SpecialEq<Arc<dyn FunctionOutputField>>,
    returns_scalar: bool,
) -> Expr
where F: Fn(&mut [Column]) -> Result<Option<Column>, PolarsError> + 'static + Send + Sync, E: AsRef<[Expr]>,
Expand description

Apply a function/closure over the groups of multiple columns. This should only be used in a group_by aggregation.

It is the responsibility of the caller that the schema is correct by giving the correct output_type. If None given the output type of the input expr is used.

This difference with [map_mul] is that [apply_mul] will create a separate [Series] per group.

  • [map_mul] should be used for operations that are independent of groups, e.g. multiply * 2, or raise to the power
  • [apply_mul] should be used for operations that work on a group of data. e.g. sum, count, etc.