quantileExact 函数
quantileExact
准确计算数值数据序列的 分位数。
为了获得准确值,所有传递的值会组合成一个数组,然后对其进行部分排序。因此,该函数消耗 O(n)
内存,其中 n
是传递的值的数量。然而,对于较少的值,该函数非常高效。
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率不如可能的那样高)。在这种情况下,请使用 quantiles 函数。
语法
别名:medianExact
。
参数
level
— 分位数的级别。可选参数。0到1之间的常量浮点数。我们建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 表达式,针对列值生成数值 数据类型、Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
- 对于数值数据类型,输出格式与输入格式相同。例如:
示例
查询:
结果:
quantileExactLow
与 quantileExact
类似,该函数计算数值数据序列的精确 分位数。
为了获得准确值,所有传递的值会组合成一个数组,然后对其进行完全排序。排序 算法 的复杂度为 O(N·log(N))
,其中 N = std::distance(first, last)
比较。
返回值依赖于分位数级别和选择中的元素数量,即如果级别为 0.5,则对于偶数个元素函数返回较低的中位数值,对于奇数个元素返回中中位数值。中位数的计算与 python 中使用的 median_low 实现类似。
对于所有其他级别,返回与 level * size_of_array
对应的索引的元素。例如:
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率不如可能的那样高)。在这种情况下,请使用 quantiles 函数。
语法
别名:medianExactLow
。
参数
level
— 分位数的级别。可选参数。0到1之间的常量浮点数。我们建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 表达式,针对列值生成数值 数据类型、Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactHigh
与 quantileExact
类似,该函数计算数值数据序列的精确 分位数。
为了获得准确值,所有传递的值会组合成一个数组,然后对其进行完全排序。排序 算法 的复杂度为 O(N·log(N))
,其中 N = std::distance(first, last)
比较。
返回值依赖于分位数级别和选择中的元素数量,即如果级别为 0.5,则对于偶数个元素函数返回较高的中位数值,对于奇数个元素返回中中位数值。中位数的计算与 python 中使用的 median_high 实现类似,对于所有其他级别,返回与 level * size_of_array
对应的索引的元素。
此实现行为与当前 quantileExact
实现完全相同。
在查询中使用多个不同级别的 quantile*
函数时,内部状态不会合并(即,查询的效率不如可能的那样高)。在这种情况下,请使用 quantiles 函数。
语法
别名:medianExactHigh
。
参数
level
— 分位数的级别。可选参数。0到1之间的常量浮点数。我们建议使用[0.01, 0.99]
范围内的level
值。默认值:0.5。在level=0.5
时,函数计算 中位数。expr
— 表达式,针对列值生成数值 数据类型、Date 或 DateTime。
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactExclusive
准确计算数值数据序列的 分位数。
为了获得准确值,所有传递的值会组合成一个数组,然后对其进行部分排序。因此,该函数消耗 O(n)
内存,其中 n
是传递的值的数量。然而,对于较少的值,该函数非常高效。
此函数等价于 Excel 函数 PERCENTILE.EXC,(type R6)。
在查询中使用多个不同级别的 quantileExactExclusive
函数时,内部状态不会合并(即,查询的效率不如可能的那样高)。在这种情况下,请使用 quantilesExactExclusive 函数。
语法
参数
参数
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
quantileExactInclusive
准确计算数值数据序列的 分位数。
为了获得准确值,所有传递的值会组合成一个数组,然后对其进行部分排序。因此,该函数消耗 O(n)
内存,其中 n
是传递的值的数量。然而,对于较少的值,该函数非常高效。
此函数等价于 Excel 函数 PERCENTILE.INC,(type R7)。
在查询中使用多个不同级别的 quantileExactInclusive
函数时,内部状态不会合并(即,查询的效率不如可能的那样高)。在这种情况下,请使用 quantilesExactInclusive 函数。
语法
参数
参数
返回值
- 指定级别的分位数。
类型:
示例
查询:
结果:
另见