series_fill_linear()
以线性方式将缺失值内插到序列中。
采用包含动态数值数组作为输入的表达式,对 missing_value_placeholder 的所有实例执行线性内插,并返回生成的数组。 如果数组的开头和结尾包含 missing_value_placeholder,则它会替换为除 missing_value_placeholder 之外的最接近值。 此功能可以关闭。 如果整个数组都由 missing_value_placeholder 组成,则数字会使用 constant_value 进行填充,如果未指定,则使用 0 进行填充。
语法
series_fill_linear(
series,
[ missing_value_placeholder [,
fill_edges [,
constant_value ]]])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
series | dynamic |
✔️ | 数值的数组。 |
missing_value_placeholder | 标量 (scalar) | 指定缺失值的占位符。 默认值为 double( null) 。 此值可以是将要转换为实际元素类型的任何类型。 double (null)、long (null) 和 int (null) 具有相同的含义。 |
|
fill_edges | bool |
指示是否应将数组开头和结尾处的 missing_value_placeholder 替换为最接近值。 默认值为 true 。 如果设置为 false ,则会保留数组开头和结尾处的 missing_value_placeholder。 |
|
constant_value | 标量 (scalar) | 仅适用于完全由 null 值组成的数组。 此参数指定用于填充序列的常数值。 默认值为 0。 将此参数设置为 double( null) 会保留 null 值。 |
返回
使用指定参数的 series 的序列线性内插。 如果 series 只包含 int
或 long
元素,则线性内插会返回舍入的内插值,而不是确切值。
注意
- 如果使用 make-series 运算符创建 series,请将 null 指定为默认值,以便之后使用
series_fill_linear()
之类的内插函数。 请参阅说明。 - 如果 missing_value_placeholder 为
double
(null) 或被省略,则结果可能包含 null 值。 若要填充这些 null 值,请使用其他内插函数。 只有 series_outliers() 支持在输入数组中使用 null 值。 series_fill_linear()
保留数组元素的原始类型。
示例
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)
输出
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] |