diff --git a/crates/polars-pipe/src/executors/sinks/group_by/aggregates/convert.rs b/crates/polars-pipe/src/executors/sinks/group_by/aggregates/convert.rs index c3bc052d4b2a..dddcac3ba033 100644 --- a/crates/polars-pipe/src/executors/sinks/group_by/aggregates/convert.rs +++ b/crates/polars-pipe/src/executors/sinks/group_by/aggregates/convert.rs @@ -101,7 +101,12 @@ pub fn can_convert_to_hash_agg( } ) && { if let Ok(field) = ae.to_field(input_schema, Context::Default, expr_arena) { - field.dtype.to_physical().is_numeric() + match field.dtype { + DataType::Date => { + matches!(agg_fn, IRAggExpr::Mean(_) | IRAggExpr::Median(_)) + }, + _ => field.dtype.to_physical().is_numeric(), + } } else { false }