atoti.agg.quantile()#
- atoti.agg.quantile(operand: LevelOrVariableColumnConvertible, /, q: _Quantile, *, mode: Literal['simple', 'centered', 'inc', 'exc'] = 'inc', interpolation: Literal['linear', 'higher', 'lower', 'nearest', 'midpoint'] = 'linear') MeasureDefinition#
- atoti.agg.quantile(operand: VariableMeasureConvertible, /, q: _Quantile, *, mode: Literal['simple', 'centered', 'inc', 'exc'] = 'inc', interpolation: Literal['linear', 'higher', 'lower', 'nearest', 'midpoint'] = 'linear', scope: CumulativeScope | SiblingsScope | OriginScope) MeasureDefinition
Return a measure equal to the requested quantile of the passed operand across the specified scope.
Here is how to obtain the same behavior as these standard quantile calculation methods:
R-1:
mode="centered"andinterpolation="lower"R-2:
mode="centered"andinterpolation="midpoint"R-3:
mode="simple"andinterpolation="nearest"R-4:
mode="simple"andinterpolation="linear"R-5:
mode="centered"andinterpolation="linear"R-6 (similar to Excel’s
PERCENTILE.EXC):mode="exc"andinterpolation="linear"R-7 (similar to Excel’s
PERCENTILE.INC):mode="inc"andinterpolation="linear"R-8 and R-9 are not supported
The formulae given for the calculation of the quantile index assume a 1-based indexing system.
- Parameters:
operand – The operand to get the quantile of.
q – The quantile to take. For instance,
0.95is the 95th percentile and0.5is the median.mode –
The method used to calculate the index of the quantile. Available options are, when searching for the q quantile of a vector
X:simple:len(X) * qcentered:len(X) * q + 0.5exc:(len(X) + 1) * qinc:(len(X) - 1) * q + 1
interpolation –
If the quantile index is not an integer, the interpolation decides what value is returned. The different options are, considering a quantile index
kwithi < k < jfor a sorted vectorX:linear:v = X[i] + (X[j] - X[i]) * (k - i)lower:v = X[i]higher:v = X[j]nearest:v = X[i]orv = X[j]depending on which ofiorjis closest tokmidpoint:v = (X[i] + X[j]) / 2
scope – The
aggregation scope.