Trait polars::prelude::PartitionedAggregation

source ·
pub trait PartitionedAggregation: Send + Sync + PhysicalExpr {
    // Required methods
    fn evaluate_partitioned(
        &self,
        df: &DataFrame,
        groups: &GroupsProxy,
        state: &ExecutionState
    ) -> Result<Series, PolarsError>;
    fn finalize(
        &self,
        partitioned: Series,
        groups: &GroupsProxy,
        state: &ExecutionState
    ) -> Result<Series, PolarsError>;
}
Available on crate feature lazy only.

Required Methods§

source

fn evaluate_partitioned( &self, df: &DataFrame, groups: &GroupsProxy, state: &ExecutionState ) -> Result<Series, PolarsError>

This is called in partitioned aggregation. Partitioned results may differ from aggregation results. For instance, for a mean operation a partitioned result needs to return the sum and the valid_count (length - null count).

A final aggregation can then take the sum of sums and sum of valid_counts to produce a final mean.

source

fn finalize( &self, partitioned: Series, groups: &GroupsProxy, state: &ExecutionState ) -> Result<Series, PolarsError>

Called to merge all the partitioned results in a final aggregate.

Implementors§