series_fill_linear()

Interpola in modo lineare i valori mancanti in una serie.

Accetta un'espressione contenente una matrice numerica dinamica come input, esegue l'interpolazione lineare per tutte le istanze di missing_value_placeholder e restituisce la matrice risultante. Se l'inizio e la fine della matrice contengono missing_value_placeholder, viene sostituito con il valore più vicino diverso da missing_value_placeholder. Questa funzionalità può essere disattivata. Se l'intera matrice è costituita dal missing_value_placeholder, la matrice viene riempita con constant_value o 0 se non specificato.

Sintassi

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

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
Serie dynamic ✔️ Matrice di valori numerici.
missing_value_placeholder scalare Specifica un segnaposto per i valori mancanti. Il valore predefinito è double(Null). Il valore può essere di qualsiasi tipo che verrà convertito in tipi di elemento effettivi. double(null), long(null) e int(null) hanno lo stesso significato.
fill_edges bool Indica se missing_value_placeholder all'inizio e alla fine della matrice devono essere sostituiti con il valore più vicino. true per impostazione predefinita. Se impostato su false, missing_value_placeholder all'inizio e alla fine della matrice verranno mantenuti.
constant_value scalare Rilevante solo per le matrici interamente costituite da valori Null . Questo parametro specifica un valore costante con cui riempire la serie. Il valore predefinito è 0. L'impostazione di questo parametro su double(Null) mantiene i valori Null .

Restituisce

Interpolazione lineare di serie di serie utilizzando i parametri specificati. Se la serie contiene solo int elementi o long , l'interpolazione lineare restituisce valori interpolati arrotondati anziché quelli esatti.

Nota

  • Se si crea una serie usando l'operatore make-series , specificare null come valore predefinito per usare funzioni di interpolazione come series_fill_linear() in seguito. Vedere la spiegazione.
  • Se missing_value_placeholder è double(null) o viene omesso, un risultato può contenere valori Null . Per riempire questi valori Null , usare altre funzioni di interpolazione. Solo series_outliers() supporta valori Null nelle matrici di input.
  • series_fill_linear() mantiene il tipo originale degli elementi della matrice.

Esempio

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)  

Output

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