series_fill_linear()
Lineárně interpoluje chybějící hodnoty v řadě.
Vezme výraz obsahující dynamickou číselnou matici jako vstup, provede 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é pole skládá z missing_value_placeholder, je pole vyplněno constant_value, nebo 0, pokud není zadáno.
Syntax
series_fill_linear(
Série,
[ missing_value_placeholder [,
fill_edges [,
constant_value ]]])
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
Série | dynamic |
✔️ | Pole číselných hodnot. |
missing_value_placeholder | Skalár | Určuje zástupný symbol pro chybějící hodnoty. Výchozí hodnota je double( null) . Hodnota může být libovolného 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, jestli missing_value_placeholder na začátku a na konci pole mají být nahrazeny nejbližší hodnotou. true ve výchozím nastavení. Pokud je nastavená hodnota na false hodnotu , zachovají se missing_value_placeholder na začátku a na konci pole. |
|
constant_value | Skalár | Relevantní pouze pro pole, která se zcela skládají z hodnot null . Tento parametr určuje konstantní hodnotu, kterou se má řada vyplnit. Výchozí hodnota je 0. Nastavení tohoto parametru na double( hodnotu null) zachová hodnoty null . |
Návraty
Lineární interpolace řad pomocí zadaných parametrů. Pokud řada obsahuje pouze int
prvky nebo long
, vrátí lineární interpolace spíše zaokrouhlené interpolované hodnoty než 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 elementů 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] | [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] |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro