series_fill_linear()
Линейная интерполяция отсутствующих значений в ряде.
Принимает выражение, содержащее динамический числовой массив, в качестве входных данных, выполняет линейную интерполяцию для всех экземпляров missing_value_placeholder и возвращает результирующий массив. Если начало и конец массива содержат missing_value_placeholder, он заменяется ближайшим значением, отличном от missing_value_placeholder. Эту функцию можно отключить. Если весь массив состоит из missing_value_placeholder, массив заполняется constant_value или 0, если не указано.
Синтаксис
series_fill_linear(
Серии,
[ missing_value_placeholder [,
fill_edges [,
constant_value ]]])
Дополнительные сведения о соглашениях о синтаксисе.
Параметры
Имя | Тип | Обязательно | Описание |
---|---|---|---|
Серии | dynamic |
✔️ | Массив числовых значений. |
missing_value_placeholder | скаляр | Задает заполнитель для отсутствующих значений. Значение по умолчанию — double( NULL) . Значение может иметь любой тип, который будет преобразован в фактические типы элементов. double (null), long (null) и int (null) имеют одинаковое значение. |
|
fill_edges | bool |
Указывает, следует ли заменить missing_value_placeholder в начале и конце массива ближайшим значением. По умолчанию: true . Если задано значение false , missing_value_placeholder в начале и конце массива будут сохранены. |
|
constant_value | скаляр | Относится только к массивам, полностью состоящим из значений NULL . Этот параметр задает значение константы для заполнения ряда. По умолчанию установлено значение 0. Присвоение этому параметру значения double( NULL) сохраняет значения NULL . |
Возвращаемое значение
Линейная интерполяция рядов с использованием указанных параметров. Если ряд содержит только int
элементы или long
, то линейная интерполяция возвращает округленные интерполированные значения, а не точные.
Примечание
- При создании рядов с помощью оператора make-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] |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по