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§
sourcefn evaluate_partitioned(
&self,
df: &DataFrame,
groups: &GroupsProxy,
state: &ExecutionState
) -> Result<Series, PolarsError>
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.
sourcefn finalize(
&self,
partitioned: Series,
groups: &GroupsProxy,
state: &ExecutionState
) -> Result<Series, PolarsError>
fn finalize( &self, partitioned: Series, groups: &GroupsProxy, state: &ExecutionState ) -> Result<Series, PolarsError>
Called to merge all the partitioned results in a final aggregate.