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