Trait polars::prelude::PhysicalAggregation [−][src]
pub trait PhysicalAggregation: Send + Sync { fn aggregate(
&self,
df: &DataFrame,
groups: &Vec<(u32, Vec<u32, Global>), Global>,
state: &ExecutionState
) -> Result<Option<Series>, PolarsError>; fn evaluate_partitioned(
&self,
df: &DataFrame,
groups: &Vec<(u32, Vec<u32, Global>), Global>,
state: &ExecutionState
) -> Result<Option<Vec<Series, Global>>, PolarsError> { ... } fn evaluate_partitioned_final(
&self,
final_df: &DataFrame,
groups: &Vec<(u32, Vec<u32, Global>), Global>,
state: &ExecutionState
) -> Result<Option<Series>, PolarsError> { ... } }
Required methods
Provided methods
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.