series_fill_linear()

Interpoliert linear fehlende Werte in einer Reihe.

Verwendet einen Ausdruck, der ein dynamisches numerisches Array als Eingabe enthält, führt eine lineare Interpolation für alle Instanzen von missing_value_placeholder durch und gibt das resultierende Array zurück. Wenn der Anfang und das Ende des Arrays missing_value_placeholder enthalten, wird es durch den nächsten Wert als missing_value_placeholder ersetzt. Dieses Feature kann deaktiviert werden. Wenn das gesamte Array aus dem missing_value_placeholder besteht, wird das Array mit constant_value oder 0 gefüllt, wenn nicht angegeben.

Syntax

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

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich BESCHREIBUNG
Serie dynamic ✔️ Ein Array numerischer Werte.
missing_value_placeholder Skalar Gibt einen Platzhalter für fehlende Werte an. Der Standardwert ist double(NULL). Der Wert kann von einem beliebigen Typ sein, der in tatsächliche Elementtypen konvertiert wird. double(null), long(null) und int(null) haben dieselbe Bedeutung.
fill_edges bool Gibt an , ob missing_value_placeholder am Anfang und Ende des Arrays durch den nächsten Wert ersetzt werden soll. true standardmäßig. Wenn dieser Wert auf falsefestgelegt ist, bleibt missing_value_placeholder am Anfang und Ende des Arrays erhalten.
constant_value Skalar Ist nur für Arrays relevant, die vollständig aus NULL-Werten bestehen. Dieser Parameter gibt einen konstanten Wert an, mit dem die Reihe gefüllt werden soll. Der Standardwert ist 0. Wenn Sie diesen Parameter auf double(NULL) festlegen, werden die NULL-Werte beibehalten.

Gibt zurück

Eine lineare Reiheninterpolation von Reihen mit den angegebenen Parametern. Wenn Reihen nur int - oder long -Elemente enthalten, gibt die lineare Interpolation gerundete interpolierte Werte und nicht exakte werte zurück.

Hinweis

  • Wenn Sie Reihen mit dem Make-Series-Operator erstellen, geben Sie NULL als Standardwert an, um Interpolationsfunktionen wie series_fill_linear() danach zu verwenden. Weitere Informationen finden Sie unter Erläuterung.
  • Wenn missing_value_placeholder (NULL) ist oder ausgelassen wirddouble, kann ein Ergebnis NULL-Werte enthalten. Um diese NULL-Werte zu füllen, verwenden Sie andere Interpolationsfunktionen. Nur series_outliers() unterstützt NULL-Werte in Eingabearrays.
  • series_fill_linear() behält den ursprünglichen Typ der Arrayelemente bei.

Beispiel

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)  

Ausgabe

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