Dela via


series_fill_linear()

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft 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å falsebevaras 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]