Share via


series_fill_linear()

Interpole linéairement les valeurs manquantes dans une série.

Prend une expression contenant un tableau numérique dynamique comme entrée, effectue une interpolation linéaire pour toutes les instances de missing_value_placeholder et retourne le tableau résultant. Si le début et la fin du tableau contiennent missing_value_placeholder, il est remplacé par la valeur la plus proche autre que missing_value_placeholder. Cette fonctionnalité peut être désactivée. Si l’ensemble du tableau se compose de l’missing_value_placeholder, le tableau est rempli avec constant_value, ou 0 s’il n’est pas spécifié.

Syntax

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

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
Série dynamic ✔️ Tableau de valeurs numériques.
missing_value_placeholder scalaire Spécifie un espace réservé pour les valeurs manquantes. La valeur par défaut est double(null). La valeur peut être de n’importe quel type qui sera converti en types d’éléments réels. double(null), long(null) et int(null) ont la même signification.
fill_edges bool Indique si missing_value_placeholder au début et à la fin du tableau doivent être remplacés par la valeur la plus proche. true par défaut. Si la valeur falseest , missing_value_placeholder au début et à la fin du tableau sont conservées.
constant_value scalaire Concerne uniquement les tableaux qui se composent entièrement de valeurs Null . Ce paramètre spécifie une valeur constante avec laquelle remplir la série. La valeur par défaut est 0. Si vous affectez à double( ce paramètre la valeur null), les valeurs null sont conservées.

Retours

Interpolation linéaire de série à l’aide des paramètres spécifiés. Si la série contient uniquement int des éléments ou long , l’interpolation linéaire retourne des valeurs interpolées arrondies plutôt que des valeurs exactes.

Notes

  • Si vous créez une série à l’aide de l’opérateur make-series , spécifiez null comme valeur par défaut pour utiliser les fonctions d’interpolation comme series_fill_linear() par la suite. Voir explication.
  • Si missing_value_placeholder est double(null) ou omis, un résultat peut contenir des valeurs Null . Pour remplir ces valeurs null , utilisez d’autres fonctions d’interpolation. Seul series_outliers() prend en charge les valeurs Null dans les tableaux d’entrée.
  • series_fill_linear() conserve le type d’origine des éléments du tableau.

Exemple

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)  

Sortie

arr without_args with_edges wo_edges with_const
[null,111.0,null,36.0,41.0,null,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]