文档文档

histogram() 函数

histogram() 通过计算数据集中列表中各个桶的数据频率,来近似数据集的累积分布。

桶由上限定义,所有小于或等于上限的数据点都计入该桶。桶计数是累积的。

每个输入表都转换为表示单个直方图的单个输出表。每个输出表都具有与相应输入表相同的分组键。不属于分组键的列将被删除。输出表包含用于桶上限和计数的附加列。

函数类型签名
(
    <-tables: stream[A],
    bins: [float],
    ?column: string,
    ?countColumn: string,
    ?normalize: bool,
    ?upperBoundColumn: string,
) => stream[B] where A: Record, B: Record

有关更多信息,请参阅 函数类型签名

参数

column

包含输入值的列。列的类型必须为 float。默认为 _value

upperBoundColumn

用于存储桶上限的列。默认为 le

countColumn

用于存储桶计数的列。默认为 _value

bins

(必需) 计算直方图频率时使用的上限列表。

桶应包含一个桶,其边界是数据集的最大值。如果不知道最大值,则此值可以设置为正无穷大。

桶辅助函数

以下辅助函数可用于生成桶。

  • linearBins()
  • logarithmicBins()

normalize

将计数转换为 0 到 1 之间的频率值。默认为 false

注意:归一化的直方图不能通过对其计数求和来聚合。

tables

输入数据。默认为管道转发数据 (<-)。

示例

创建累积直方图

import "sampledata"

sampledata.float()
    |> histogram(bins: [0.0, 5.0, 10.0, 20.0])

查看示例输入和输出

创建具有动态生成的桶的累积直方图

import "sampledata"

sampledata.float()
    |> histogram(bins: linearBins(start: 0.0, width: 4.0, count: 3))

查看示例输入和输出


5

10


InfluxDB 2.4

InfluxDB 2.5

InfluxDB 2.6

InfluxDB 2.7

InfluxDB Enterprise 1.7

InfluxDB Enterprise 1.8

InfluxDB Enterprise 1.9