DolphinDB:如何计算数组中正变化的数量?

问题描述 投票:0回答:1

假设有一个数组[1,2,3,4,3,2,4],我想用大小为3的窗口计算这个数组的正变化之和,输出[2,2,1,0 ,1].

具有相同值的元素不被视为积极变化。例如,数组 [2,2,2,4,3,2,4] 的输出是 [0,1,1,0,1]。

如何在 DolphinDB 中实现这一点?

sql count window-functions dolphindb
1个回答
0
投票

您可以按如下方式使用

rolling
功能:

x = [1,2,3,4,3,2,4]
rolling(def (x) -> sum(deltas(x)>0), x, 3)

您还可以使用

moving
功能,如下所示:

moving(defg (x) -> sum(deltas(x)>0), x, 3)

请注意,

moving
函数对于第一个(窗口 - 1)窗口返回 NULL,并且参数 func 必须是聚合函数。

offset  0   1   2   3   4   5   6
0           2   2   1   0   1
© www.soinside.com 2019 - 2024. All rights reserved.