Trait polars_lazy::physical_plan::expressions::PhysicalAggregation [−][src]
pub trait PhysicalAggregation: Send + Sync {
fn aggregate(
&self,
df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Series>>;
fn evaluate_partitioned(
&self,
df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Vec<Series>>> { ... }
fn evaluate_partitioned_final(
&self,
final_df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Series>> { ... }
}
This is supported on crate feature
compile
only.Required methods
Provided methods
fn evaluate_partitioned(
&self,
df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Vec<Series>>>
fn evaluate_partitioned(
&self,
df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Vec<Series>>>
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.
fn evaluate_partitioned_final(
&self,
final_df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Series>>
fn evaluate_partitioned_final(
&self,
final_df: &DataFrame,
groups: &GroupTuples,
state: &ExecutionState
) -> Result<Option<Series>>
Called to merge all the partitioned results in a final aggregate.