bucket¶
Puts numbers into custom-sized buckets. Useful for histograms.
The bucket transform allows you to put numbers into buckets of custom size.
For example, given this data:
[2, 16, 84, -5, 1]
We can choose buckets of size 10
(starting from 0
by default)
bucket(10)
to get:
["[0,10)", "[10,20)", "[80,90)", "[-10,0)", "[0,10)"]
The bucket transform uses interval notation. To process the range in code, you can manually change the last character from )
to ]
, and parse the result as a json array.
Histograms¶
Using the bucket
transform in conjunction with the map
transform, it is easy to generate histograms:
map(bucket(10),count)
Running this transform on the above data will give:
[
{
"[-10,0)": 1,
"[0,10)": 2,
"[10,20)": 1,
"[80,90)": 1
}
]
Transform Details¶
Input Schema | Output Schema |
---|---|
{
"type": "number"
}
| {
"type": "string"
}
|
Arguments¶
# | Description | Type | Schema | Default |
---|---|---|---|---|
1 | The size of each bucket | const | {
"type": "number"
}
| 10 |
2 | Start location for bucketing | const | {
"type": "number"
}
| 0 |