Bagikan melalui


series_fill_linear()

Menginterpolasi secara linier nilai yang hilang dalam seri.

Menganggap ekspresi yang berisi larik numerik dinamis sebagai input, melakukan interpolasi linier untuk semua instans missing_value_placeholder, dan menampilkan larik yang dihasilkan. Jika awal dan akhir array berisi missing_value_placeholder, maka akan diganti dengan nilai terdekat selain missing_value_placeholder. Fitur ini dapat dimatikan. Jika seluruh array terdiri dari missing_value_placeholder, array diisi dengan constant_value, atau 0 jika tidak ditentukan.

Sintaks

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

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter

Nama Tipe Wajib Deskripsi
series dynamic ✔️ Array nilai numerik.
missing_value_placeholder skalar Menentukan tempat penampung untuk nilai yang hilang. Nilai default-nya adalah double(null). Nilainya bisa dari jenis apa pun yang akan dikonversi ke jenis elemen aktual. double(null), long(null) dan int(null) memiliki arti yang sama.
fill_edges bool Menunjukkan apakah missing_value_placeholder di awal dan akhir array harus diganti dengan nilai terdekat. true secara default. Jika diatur ke false, maka missing_value_placeholder di awal dan akhir array akan dipertahankan.
constant_value skalar Hanya relevan untuk array yang sepenuhnya terdiri dari nilai null . Parameter ini menentukan nilai konstanta untuk mengisi seri. Nilai default-nya adalah 0. Mengatur parameter ini ke double(null) mempertahankan nilai null.

Mengembalikan

Interpolasi seri linier seri menggunakan parameter yang ditentukan. Jika seri hanya int berisi elemen atau long , maka interpolasi linier mengembalikan nilai interpolasi bulat daripada yang tepat.

Catatan

  • Jika Anda membuat seri menggunakan operator make-series , tentukan null sebagai nilai default untuk menggunakan fungsi interpolasi seperti series_fill_linear() setelahnya. Lihat penjelasan.
  • Jika missing_value_placeholder (doublenull), atau dihilangkan, hasilnya mungkin berisi nilai null. Untuk mengisi nilai null ini, gunakan fungsi interpolasi lainnya. Hanya series_outliers() yang mendukung nilai null dalam array input.
  • series_fill_linear() mempertahankan jenis asli elemen array.

Contoh

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)  

Hasil

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]