Compartilhar via


series_fill_linear()

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Interpola linearmente os valores ausentes em uma série.

Usa uma expressão contendo 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 fim da matriz contiverem missing_value_placeholder, ele será substituído pelo valor mais próximo diferente de missing_value_placeholder. Esse recurso pode ser desativado. Se toda a matriz consistir no missing_value_placeholder, a matriz será preenchida com constant_value ou 0 se não for especificado.

Sintaxe

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

Saiba mais sobre as convenções de sintaxe.

Parâmetros

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

Devoluções

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

Observação

  • Se você criar séries usando o operador make-series , especifique null como o valor padrão para usar funções de interpolação como series_fill_linear() depois. Veja a explicação.
  • Se missing_value_placeholder for (nulo) ou omitido, um resultado poderá conter valores nulos.double Para preencher esses valores nulos , use outras funções de interpolação. Apenas series_outliers() suporta 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
[nulo,111.0,nulo,36.0,41.0,nulo,nulo,16.0,61.0,33.0,nulo,nulo] [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] [nulo,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,nulo,nulo] [111.0,111.0,73.5,36.0,41.0,32.667,24.333,16.0,61.0,33.0,33.0,33.0]
[nulo,111,nulo,36,41,nulo,nulo,16,61,33,nulo,nulo] [111,111,73,36,41,32,24,16,61,33,33,33] [111,111,73,36,41,32,24,16,61,33,33,33] [nulo,111,73,36,41,32,24,16,61,33,nulo,nulo] [111,111,74,38, 41,32,24,16,61,33,33,33]
[nulo, nulo, nulo, nulo] [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]