docs-v2/content/flux/v0.x/stdlib/experimental/universe/fill.md

5.4 KiB

title description menu weight flux/v0.x/tags introduced
fill() function `fill()` replaces all null values in input tables with a non-null value.
flux_0_x_ref
name parent identifier
fill experimental/universe experimental/universe/fill
201
transformations
v0.166.0

fill() replaces all null values in input tables with a non-null value.

Note: universe.fill() is an experimental function with a more precise type signature.

Output tables are the same as the input tables with all null values replaced in the specified column.

Function type signature
(<-tables: stream[{C with A: B}], ?column: A = "_value", ?usePrevious: bool, ?value: B) => stream[{C with A: B}] where A: Label, C: Record

{{% caption %}}For more information, see Function type signatures.{{% /caption %}}

Parameters

column

Column to replace null values in. Default is _value.

value

Constant value to replace null values with.

Value type must match the type of the specified column.

usePrevious

Replace null values with the previous non-null value. Default is false.

tables

Input data. Default is piped-forward data (<-).

Examples

Fill null values with a specified non-null value

import "experimental/universe"
import "sampledata"

sampledata.int(includeNull: true)
    |> universe.fill(value: 0)

{{< expand-wrapper >}} {{% expand "View example input and ouput" %}}

Input data

_time _value *tag
2021-01-01T00:00:00Z -2 t1
2021-01-01T00:00:10Z t1
2021-01-01T00:00:20Z 7 t1
2021-01-01T00:00:30Z t1
2021-01-01T00:00:40Z t1
2021-01-01T00:00:50Z 4 t1
_time _value *tag
2021-01-01T00:00:00Z t2
2021-01-01T00:00:10Z 4 t2
2021-01-01T00:00:20Z -3 t2
2021-01-01T00:00:30Z 19 t2
2021-01-01T00:00:40Z t2
2021-01-01T00:00:50Z 1 t2

Output data

_time _value *tag
2021-01-01T00:00:00Z -2 t1
2021-01-01T00:00:10Z 0 t1
2021-01-01T00:00:20Z 7 t1
2021-01-01T00:00:30Z 0 t1
2021-01-01T00:00:40Z 0 t1
2021-01-01T00:00:50Z 4 t1
_time _value *tag
2021-01-01T00:00:00Z 0 t2
2021-01-01T00:00:10Z 4 t2
2021-01-01T00:00:20Z -3 t2
2021-01-01T00:00:30Z 19 t2
2021-01-01T00:00:40Z 0 t2
2021-01-01T00:00:50Z 1 t2

{{% /expand %}} {{< /expand-wrapper >}}

Fill null values with the previous non-null value

import "experimental/universe"
import "sampledata"

sampledata.int(includeNull: true)
    |> universe.fill(usePrevious: true)

{{< expand-wrapper >}} {{% expand "View example input and ouput" %}}

Input data

_time _value *tag
2021-01-01T00:00:00Z -2 t1
2021-01-01T00:00:10Z t1
2021-01-01T00:00:20Z 7 t1
2021-01-01T00:00:30Z t1
2021-01-01T00:00:40Z t1
2021-01-01T00:00:50Z 4 t1
_time _value *tag
2021-01-01T00:00:00Z t2
2021-01-01T00:00:10Z 4 t2
2021-01-01T00:00:20Z -3 t2
2021-01-01T00:00:30Z 19 t2
2021-01-01T00:00:40Z t2
2021-01-01T00:00:50Z 1 t2

Output data

_time _value *tag
2021-01-01T00:00:00Z -2 t1
2021-01-01T00:00:10Z -2 t1
2021-01-01T00:00:20Z 7 t1
2021-01-01T00:00:30Z 7 t1
2021-01-01T00:00:40Z 7 t1
2021-01-01T00:00:50Z 4 t1
_time _value *tag
2021-01-01T00:00:00Z t2
2021-01-01T00:00:10Z 4 t2
2021-01-01T00:00:20Z -3 t2
2021-01-01T00:00:30Z 19 t2
2021-01-01T00:00:40Z 19 t2
2021-01-01T00:00:50Z 1 t2

{{% /expand %}} {{< /expand-wrapper >}}