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 false como , 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] |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de