mprod

语法

mprod(X, window, [minPeriods])

窗口计算规则请参考:mFunctions

详情

在给定长度(以元素个数或时间长度衡量)的滑动窗口内计算 X 元素的乘积。

参数

X 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。

window 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。
注:
在流计算引擎中调用滑动窗口函数时,window 的上限为 102400。

minPeriods 是一个正整数。为滑动窗口中最少包含的观测值数据。

返回值

  • 输入为向量时,返回一个与输入等长的向量。
  • 输入为矩阵时,返回一个与输入矩阵同维度的矩阵,每列分别计算。
  • 输入为表时,返回一个与输入表结构相同的表。
  • 输入为元组时,返回对应的元组结构。

例子

X = 2 1 3 7 6 5 4
Y = 2 1 3 NULL 6 5 4

mprod(X, 3);
// output: [,,6,21,126,210,120]

mprod(Y, 3);
// output: [,,6,3,18,30,120]

mprod(Y, 3, minPeriods=1);
// output: [2,2,6,3,18,30,120]
m=matrix(1 NULL 4 NULL 8 6 , 9 NULL NULL 10 NULL 2)
m.rename!(date(2020.04.06)+1..6, `col1`col2)
m.setIndexedMatrix!()
mprod(m, 3d)
label col1 col2
2020.04.07 1 9
2020.04.08 1 9
2020.04.09 4 9
2020.04.10 4 10
2020.04.11 32 10
2020.04.12 48 20
mprod(m, 1w)
label col1 col2
2020.04.07 1 9
2020.04.08 1 9
2020.04.09 4 9
2020.04.10 4 90
2020.04.11 32 90
2020.04.12 192 180

相关函数:prod