累计窗口系列(cum 系列)
累积窗口,即窗口的起始边界固定,结束边界逐步向右移动的窗口。针对累计窗口计算场景,DolphinDB 提供了 cum 系列函数。
cum 系列函数介绍
cum 系列函数对应的高阶函数 accumulate:
accumulate(func, X, [init])
注:
如果指定了 init,第一个窗口的结果为 init + X [0]。
内置的 cum 系列函数的通用参数模板如下:
cumfunc(X)
cumfunc(X, Y)
参数
X (Y) 是一个标量、向量、矩阵、表或由等长向量组成的元组。cum 系列函数如下:
单目:
双目:
窗口确定规则
cum 系列函数可以视为一个累计的窗口计算,对数据中的每一个元素,都会进行一次累计计算,因此返回一个和元数据等长的向量(相同维度的矩阵)。
其计算规则如下图:
上图的对应代码,这里以 cumsum 为例:
X = 1 1 2 3 4 5 NULL 8 9 1 3
cumsum(X)
//output: [1, 2, 4, 7, 11, 16, 16, 24, 33, 34, 37]