quantileExactHigh
quantileExactHigh
引入版本:v20.8
与 quantileExact 类似,该函数计算数值数据序列的精确分位数。
为了获得精确值,所有传入的值会被合并到一个数组中,然后对该数组进行完全排序。
排序算法的复杂度为 O(N·log(N)),其中 N = std::distance(first, last) 次比较。
返回值取决于分位数水平和选定集合中元素的数量。也就是说,如果水平为 0.5,则在元素数量为偶数时,函数返回较大的中位数值,在元素数量为奇数时,返回中间的中位数值。
中位数的计算方式与 Python 中使用的 median_high 实现类似。
对于所有其他水平,返回索引位置对应于 level * size_of_array 的元素。
在查询中使用多个带有不同水平的 quantile* 函数时,其内部状态不会被合并(也就是说,该查询的执行效率低于理论上的最优情况)。
在这种情况下,请使用 quantiles 函数。
语法
别名: medianExactHigh
参数
level— 可选。分位数的水平。取值为 0 到 1 之间的常量浮点数。建议使用范围为[0.01, 0.99]的level值。默认值:0.5。当level=0.5时,函数计算中位数。Float*
参数说明
返回值
返回指定水平的分位数。Float64 或 Date 或 DateTime
示例
计算精确高位分位数
计算特定分位点