直方图分位数() 函数
histogramQuantile() 通过给定一个近似数据集累积分布的直方图来近似一个分位数。
每个输入表代表一个单独的直方图。 直方图表必须有两列 - 一列计数列和一列上界列。
计数是小于或等于上界值的值的数量。
表可以有任意数量的记录,每条记录代表直方图中的一个区间。
当按上界排序时,计数必须单调递增。
如果计数列或上界列中的任何值为null,则返回错误。
计数和上界列必须不是组键的一部分。
分位数是通过对两个最接近的界限之间进行线性插值计算得出的。如果用于插值的任一界限是无限的,则使用另一个有限的界限,不进行插值。
输出表格
输出表具有与相应输入表相同的组键。
非组键部分的列将被删除。
添加了一个类型为 float 的单值列。
值列表示直方图中所需分位数的值。
函数类型签名
(
<-tables: stream[A],
?countColumn: string,
?minValue: float,
?onNonmonotonic: string,
?quantile: float,
?upperBoundColumn: string,
?valueColumn: string,
) => stream[B] where A: Record, B: Record
有关更多信息,请参见 Function type signatures。
参数
分位数
要计算的分位数。值必须在0和1之间。
计数列
包含直方图箱计数的列。默认值是 _value。
上界列
包含直方图箱上界的列。 默认值是 le。
值列
用于存储计算得到的分位数的列。默认值是 `_value`。
最小值
假设数据集的最小值。默认值为 0.0。
非单调
描述当按上界排序时计数不是单调递增的行为。默认值为 error。
支持的值:
- 错误: 产生一个错误。
- force: 通过往每个箱子添加使其等于下一个较小的箱子,强制箱子计数单调递增。
- drop: 当遇到非单调表时,不产生任何输出。
如果分位数低于最低上限,则在
minValue和最低上限之间进行插值。 当minValue等于负无穷时,使用最低上限。
表格
输入数据。默认是管道转发数据 (<-).
示例
计算直方图的第90个分位数
data
|> histogramQuantile(quantile: 0.9)