series_fill_linear()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Lineárně interpoluje chybějící hodnoty v řadě.
Přebírá výraz obsahující dynamickou číselnou matici jako vstup, provádí lineární interpolaci pro všechny instance missing_value_placeholder a vrátí výslednou matici. Pokud začátek a konec pole obsahují missing_value_placeholder, nahradí se nejbližší jinou hodnotou než missing_value_placeholder. Tuto funkci je možné vypnout. Pokud se celá matice skládá z missing_value_placeholder, je pole vyplněno constant_value nebo 0, pokud není zadáno.
Syntaxe
series_fill_linear(
řada,
[ missing_value_placeholder [,
fill_edges [,
constant_value ]]])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
řada | dynamic |
✔️ | Matice číselných hodnot. |
missing_value_placeholder | skalární | Určuje zástupný symbol pro chybějící hodnoty. Výchozí hodnota je double( null) . Hodnota může být jakéhokoli typu, který bude převeden na skutečné typy prvků. double (null), long (null) a int (null) mají stejný význam. |
|
fill_edges | bool |
Určuje, zda má být missing_value_placeholder na začátku a konci pole nahrazena nejbližší hodnotou. true ve výchozím nastavení. Pokud je nastavená hodnota false , bude missing_value_placeholder na začátku a na konci pole zachována. |
|
constant_value | skalární | Relevantní pouze pro pole, která se zcela skládají z hodnot null . Tento parametr určuje konstantní hodnotu, se kterou chcete vyplnit řadu. Výchozí hodnota je 0. Nastavením tohoto parametru na double( hodnotu null) zachováte hodnoty null. |
Návraty
Lineární interpolace řad pomocí zadaných parametrů. Pokud řada obsahuje pouze int
nebo long
prvky, vrátí lineární interpolace zaokrouhlené interpolované hodnoty, nikoli přesné hodnoty.
Poznámka:
- Pokud vytváříte řadu pomocí operátoru make-series , zadejte hodnotu null jako výchozí hodnotu pro použití interpolačních funkcí jako
series_fill_linear()
potom. Viz vysvětlení. - Pokud je missing_value_placeholder
double
(null) nebo vynechán, může výsledek obsahovat hodnoty null . K vyplnění těchto hodnot null použijte jiné interpolační funkce. Pouze series_outliers() podporuje hodnoty null ve vstupních polích. series_fill_linear()
zachová původní typ prvků pole.
Příklad
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)
Výstup
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] |