series_fill_linear()
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Linjärt interpolerar saknade värden i en serie.
Tar ett uttryck som innehåller dynamisk numerisk matris som indata, utför linjär interpolation för alla instanser av missing_value_placeholder och returnerar den resulterande matrisen. Om matrisens början och slut innehåller missing_value_placeholder ersätts den med det närmaste värdet förutom missing_value_placeholder. Den här funktionen kan stängas av. Om hela matrisen består av missing_value_placeholder fylls matrisen med constant_value eller 0 om den inte anges.
Syntax
series_fill_linear(
serien,
[ missing_value_placeholder [,
fill_edges [,
constant_value ]]])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
serie | dynamic |
✔️ | En matris med numeriska värden. |
missing_value_placeholder | skalär | Anger en platshållare för saknade värden. Standardvärdet är double( null-) . Värdet kan vara av vilken typ som helst som kan konverteras till faktiska elementtyper.
double (null), long (null) och int (null) har samma betydelse. |
|
fill_edges | bool |
Anger om missing_value_placeholder i början och slutet av matrisen ska ersättas med närmaste värde.
true som standard. Om värdet är inställt på false bevaras missing_value_placeholder i början och slutet av matrisen. |
|
constant_value | skalär | Endast relevant för matriser som helt består av null- värden. Den här parametern anger ett konstant värde som serien ska fyllas med. Standardvärdet är 0. Om den här parametern anges till double( null) bevaras värdena för null. |
Returnerar
En serie linjär interpolering av serie med de angivna parametrarna. Om serie endast innehåller int
eller long
element, returnerar den linjära interpolationen avrundade interpolerade värden i stället för exakta.
Not
- Om du skapar serie med operatorn make-series anger du null- som standardvärde för att använda interpoleringsfunktioner som
series_fill_linear()
efteråt. Se förklaring. - Om missing_value_placeholder är
double
(null), eller utelämnas, kan ett resultat innehålla null- värden. Om du vill fylla dessa null- värden använder du andra interpoleringsfunktioner. Endast series_outliers() stöder null- värden i indatamatriser. -
series_fill_linear()
bevarar den ursprungliga typen av matriselement.
Exempel
I följande exempel visas hur du använder funktionen series_fill_linear()
för att fylla saknade värden (null) i matriserna med linjär interpolation. Den fyller värden med hjälp av den ursprungliga arr
utan ytterligare argument, med hjälp av kantvärden och exkludering av kantvärden.
let data = datatable(arr: dynamic)
[
dynamic([null, 111.0, null, 36.0, 41.0, null, null, 16.0, 61.0, 33.0, null, null]), // Array of double
dynamic([null, 111, null, 36, 41, null, null, 16, 61, 33, null, null]), // Similar array of int
dynamic([null, null, null, null]) // Array with missing values only
];
data
| project
arr,
without_args = series_fill_linear(arr),
with_edges = series_fill_linear(arr, double(null), true),
wo_edges = series_fill_linear(arr, double(null), false),
with_const = series_fill_linear(arr, double(null), true, 3.14159)
utdata
arr |
without_args |
with_edges |
wo_edges |
with_const |
---|---|---|---|---|
[null,111.0,null,36.0,41.0,null,null,16.0,61.0,33.0,null,null] | [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0] | [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0] | [null,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,null,null] | [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0] |
[null,111,null,36,41,null,null,16,61,33,null,null] | [111,111,73,36,41,32,24,16,61,33,33,33] | [111,111,73,36,41,32,24,16,61,33,33,33] | [null,111,73,36,41,32,24,16,61,33,null,null] | [111,111,74,38, 41,32,24,16,61,33,33,33] |
[null,null,null,null] | [0.0,0.0,0.0,0.0] | [0.0,0.0,0.0,0.0] | [0.0,0.0,0.0,0.0] | [3.14159,3.14159,3.14159,3.14159] |