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 falsehodnotu , 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_placeholderdouble(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]