series_fill_linear()

Interpoluje liniowo brakujące wartości w serii.

Przyjmuje wyrażenie zawierające dynamiczną tablicę liczbową jako dane wejściowe, wykonuje interpolację liniową dla wszystkich wystąpień missing_value_placeholder i zwraca wynikową tablicę. Jeśli początek i koniec tablicy zawierają missing_value_placeholder, zostanie zastąpiona najbliższą wartością inną niż missing_value_placeholder. Tę funkcję można wyłączyć. Jeśli cała tablica składa się z missing_value_placeholder, tablica jest wypełniona constant_value lub 0, jeśli nie zostanie określona.

Składnia

series_fill_linear(Serii, [ missing_value_placeholder [,fill_edges [,constant_value ]]])

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Serii dynamic ✔️ Tablica wartości liczbowych.
missing_value_placeholder Wartość skalarna Określa symbol zastępczy brakujących wartości. Wartość domyślna to double(null). Wartość może być dowolnego typu, który zostanie przekonwertowany na rzeczywiste typy elementów. double(null), long(null) i int(null) mają takie samo znaczenie.
fill_edges bool Wskazuje, czy missing_value_placeholder na początku i na końcu tablicy należy zastąpić najbliższą wartością. true domyślnie. Jeśli ustawiono wartość false, missing_value_placeholder na początku i na końcu tablicy zostaną zachowane.
constant_value Wartość skalarna Dotyczy tylko tablic, które całkowicie składają się z wartości null . Ten parametr określa stałą wartość, z którą należy wypełnić serię. Wartość domyślna to 0. Ustawienie tego parametru na double(wartość null) powoduje zachowanie wartości null .

Zwraca

Liniowa interpolacja serii przy użyciu określonych parametrów. Jeśli seria zawiera tylko int elementy lub long , interpolacja liniowa zwraca zaokrąglone wartości interpolowane, a nie dokładne.

Uwaga

  • Jeśli utworzysz serię przy użyciu operatora make-series , określ wartość null jako wartość domyślną, aby używać funkcji interpolacji, takich jak series_fill_linear() później. Zobacz wyjaśnienie.
  • Jeśli missing_value_placeholder jest double(null) lub pominięta, wynik może zawierać wartości null . Aby wypełnić te wartości null , użyj innych funkcji interpolacji. Tylko series_outliers() obsługuje wartości null w tablicach wejściowych.
  • series_fill_linear() zachowuje oryginalny typ elementów tablicy.

Przykład

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)  

Dane wyjściowe

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,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,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]