Expr.over
Expr over(string[] keys...) @safePartitions the frame by keys and evaluates the expression per partition, scattering each partition's result back to every input row of that partition (the over semantics of ADR-2026-10-24-17). The output has the input's length and row order.
Aggregations dispatch to the partitioned-aggregate kernels (dtype-preserving). Every other expression keeps the historical behaviour: the raw per-partition evaluation's first row value scatters to the partition's rows, with FLOAT64 output.
Parameters
keys | the partition key columns |
Returns
the window expression (blocking for streaming).