Megosztás a következőn keresztül:


series_fill_linear()

Lineárisan interpolálja a hiányzó értékeket egy sorozatban.

Bemenetként dinamikus numerikus tömböt tartalmazó kifejezést vesz fel, lineáris interpolációt végez az missing_value_placeholder összes példányához, és visszaadja az eredményül kapott tömböt. Ha a tömb kezdete és vége missing_value_placeholder tartalmaz, akkor a függvény a missing_value_placeholder kivételével a legközelebbi értékre cseréli. Ez a funkció kikapcsolható. Ha az egész tömb a missing_value_placeholder áll, a tömb constant_value vagy 0-val van kitöltve, ha nincs megadva.

Syntax

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

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
Sorozat dynamic ✔️ Numerikus értékek tömbje.
missing_value_placeholder Skalár A hiányzó értékek helyőrzője. Az alapértelmezett érték null)double(. Az érték bármilyen típusú lehet, amely tényleges elemtípusokká lesz konvertálva. doubleA (null), long(null) és int(null) jelentése megegyezik.
fill_edges bool Azt jelzi, hogy a tömb elején és végén lévő missing_value_placeholder a legközelebbi értékre kell-e cserélni. true alapértelmezés szerint. Ha a értékre falsevan állítva, akkor a tömb elején és végén missing_value_placeholder megmarad.
constant_value Skalár Csak olyan tömbök esetében releváns, amelyek teljes egészében null értékeket tartalmaznak. Ez a paraméter egy állandó értéket ad meg, amellyel kitöltheti az adatsort. Az alapértelmezett érték 0. Ha ezt a paramétert null) értékre double( állítja, az megőrzi a null értékeket.

Válaszok

Sorozat lineáris interpolációja a megadott paraméterekkel. Ha az adatsor csak int vagy long elemeket tartalmaz, akkor a lineáris interpoláció a pontos értékek helyett kerekített interpolált értékeket ad vissza.

Megjegyzés

  • Ha sorozatot hoz létre a make-series operátorral, adja meg a null értéket alapértelmezett értékként az interpolációs függvények használatához, mint series_fill_linear() később. Lásd a magyarázatot.
  • Ha a missing_value_placeholderdouble(null) vagy hiányzik, akkor az eredmény null értékeket tartalmazhat. A null értékek kitöltéséhez használjon más interpolációs függvényeket. A bemeneti tömbökben csak series_outliers() támogatja a null értékeket.
  • series_fill_linear() megőrzi a tömbelemek eredeti típusát.

Példa

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)  

Kimenet

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]