content/flux/v0/stdlib/universe/quantile.md
quantile() returns rows from each input table with values that fall within a
specified quantile or returns the row with the value that represents the
specified quantile.
quantile() supports columns with float values.
quantile() acts as an aggregate or selector transformation depending on the
specified method.
estimate_tdigest or exact_mean methods,
quantile() acts as an aggregate transformation and outputs the average of
non-null records with values that fall within the specified quantile.exact_selector method, quantile() acts as
a selector selector transformation and outputs the non-null record with the
value that represents the specified quantile.(
<-tables: stream[A],
q: float,
?column: string,
?compression: float,
?method: string,
) => stream[A] where A: Record
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
Column to use to compute the quantile. Default is _value.
({{< req >}})
Quantile to compute. Must be between 0.0 and 1.0.
Computation method. Default is estimate_tdigest.
Available methods:
q points are less than.Number of centroids to use when compressing the dataset.
Default is 1000.0.
A larger number produces a more accurate result at the cost of increased memory requirements.
Input data. Default is piped-forward data (<-).
import "sampledata"
sampledata.float()
|> quantile(q: 0.99, method: "estimate_tdigest")
{{< expand-wrapper >}} {{% expand "View example input and output" %}}
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:00Z | t1 | -2.18 |
| 2021-01-01T00:00:10Z | t1 | 10.92 |
| 2021-01-01T00:00:20Z | t1 | 7.35 |
| 2021-01-01T00:00:30Z | t1 | 17.53 |
| 2021-01-01T00:00:40Z | t1 | 15.23 |
| 2021-01-01T00:00:50Z | t1 | 4.43 |
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:00Z | t2 | 19.85 |
| 2021-01-01T00:00:10Z | t2 | 4.97 |
| 2021-01-01T00:00:20Z | t2 | -3.75 |
| 2021-01-01T00:00:30Z | t2 | 19.77 |
| 2021-01-01T00:00:40Z | t2 | 13.86 |
| 2021-01-01T00:00:50Z | t2 | 1.86 |
| *tag | _value |
|---|---|
| t1 | 17.53 |
| *tag | _value |
|---|---|
| t2 | 19.85 |
{{% /expand %}} {{< /expand-wrapper >}}
import "sampledata"
sampledata.float()
|> quantile(q: 0.5, method: "exact_selector")
{{< expand-wrapper >}} {{% expand "View example input and output" %}}
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:00Z | t1 | -2.18 |
| 2021-01-01T00:00:10Z | t1 | 10.92 |
| 2021-01-01T00:00:20Z | t1 | 7.35 |
| 2021-01-01T00:00:30Z | t1 | 17.53 |
| 2021-01-01T00:00:40Z | t1 | 15.23 |
| 2021-01-01T00:00:50Z | t1 | 4.43 |
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:00Z | t2 | 19.85 |
| 2021-01-01T00:00:10Z | t2 | 4.97 |
| 2021-01-01T00:00:20Z | t2 | -3.75 |
| 2021-01-01T00:00:30Z | t2 | 19.77 |
| 2021-01-01T00:00:40Z | t2 | 13.86 |
| 2021-01-01T00:00:50Z | t2 | 1.86 |
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:20Z | t1 | 7.35 |
| _time | *tag | _value |
|---|---|---|
| 2021-01-01T00:00:10Z | t2 | 4.97 |
{{% /expand %}} {{< /expand-wrapper >}}