Share via


series_fill_linear()

Interpola linealmente los valores que faltan en una serie.

Toma una expresión que contiene una matriz numérica dinámica como entrada, realiza la interpolación lineal para todas las instancias de missing_value_placeholder y devuelve la matriz resultante. Si el principio y el final de la matriz contienen missing_value_placeholder, se reemplaza por el valor más cercano que no sea missing_value_placeholder. Esta característica se puede desactivar. Si toda la matriz consta de la missing_value_placeholder, la matriz se rellena con constant_value o 0 si no se especifica.

Syntax

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

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Tipo Requerido Descripción
Serie dynamic ✔️ Matriz de valores numéricos.
missing_value_placeholder escalar Especifica un marcador de posición para los valores que faltan. El valor predeterminado es double(NULL). El valor puede ser de cualquier tipo que se convertirá en tipos de elementos reales. double(null), long(null) y int(null) tienen el mismo significado.
fill_edges bool Indica si missing_value_placeholder al principio y al final de la matriz se debe reemplazar por el valor más cercano. true es el valor predeterminado. Si se establece en false, se conservará missing_value_placeholder al principio y al final de la matriz.
constant_value escalar Solo es relevante para las matrices que constan completamente de valores NULL . Este parámetro especifica un valor constante con el que rellenar la serie. El valor predeterminado es 0. Si se establece este parámetro en double(NULL) , se conservan los valores NULL .

Devoluciones

Interpolación lineal de series mediante los parámetros especificados. Si la serie contiene solo int elementos o long , la interpolación lineal devuelve valores interpolados redondeados en lugar de los exactos.

Nota

  • Si crea series mediante el operador make-series , especifique null como valor predeterminado para usar funciones de interpolación como series_fill_linear() después. Vea la explicación.
  • Si missing_value_placeholder es double(null) o se omite, un resultado puede contener valores NULL . Para rellenar estos valores NULL , use otras funciones de interpolación. Solo series_outliers() admite valores NULL en matrices de entrada.
  • series_fill_linear() conserva el tipo original de los elementos de matriz.

Ejemplo

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)  

Salida

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]