series_fill_linear()

Interpola linearmente valores ausentes em uma série.

Usa uma expressão que contém matriz numérica dinâmica como entrada, faz interpolação linear para todas as instâncias de missing_value_placeholder e retorna a matriz resultante. Se o início e o final da matriz contiverem missing_value_placeholder, ele será substituído pelo valor mais próximo que não missing_value_placeholder. Esse recurso pode ser desativado. Se a matriz inteira consistir no missing_value_placeholder, a matriz será preenchida com constant_value ou 0 se não for especificada.

Syntax

series_fill_linear(Série, [ missing_value_placeholder [,fill_edges [,constant_value ]]])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
Série dynamic ✔️ Uma matriz de valores numéricos.
missing_value_placeholder escalar Especifica um espaço reservado para valores ausentes. O valor padrão é double(nulo). O valor pode ser de qualquer tipo que será convertido em tipos de elemento reais. double(nulo), long(nulo) e int(nulo) têm o mesmo significado.
fill_edges bool Indica se missing_value_placeholder no início e no final da matriz devem ser substituídos pelo valor mais próximo. true por padrão. Se definido falsecomo , missing_value_placeholder no início e no final da matriz serão preservados.
constant_value escalar Relevante somente para matrizes que consistem inteiramente em valores nulos . Esse parâmetro especifica um valor constante com o qual preencher a série. O valor padrão é 0. Definir esse parâmetro como double(nulo) preserva os valores nulos .

Retornos

Uma interpolação linear de série de série usando os parâmetros especificados. Se a série contiver apenas int elementos ou long , a interpolação linear retornará valores interpolados arredondados em vez dos exatos.

Observação

  • Se você criar série usando o operador make-series , especifique nulo como o valor padrão para usar funções de interpolação como series_fill_linear() posteriormente. Confira a explicação.
  • Se missing_value_placeholder for double(nulo) ou omitido, um resultado poderá conter valores nulos . Para preencher esses valores nulos , use outras funções de interpolação. Somente series_outliers() dá suporte a valores nulos em matrizes de entrada.
  • series_fill_linear() preserva o tipo original dos elementos da matriz.

Exemplo

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)  

Saída

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]