最简单最高效的办法应该是使用cumPositiveStreak函数。连续的positive的数会累加,遇到0或负数置0
v=[10,15,20,20,30,30,30,50,50,75] eachPre(eq, v).cumPositiveStreak() * 5 + v
segmentby是解决连续相同的数据分组计算的通用办法。
segmentby(x->x + seq(0, x.size() - 1) * 5, v, v)
最简单最高效的办法应该是使用cumPositiveStreak函数。连续的positive的数会累加,遇到0或负数置0
v=[10,15,20,20,30,30,30,50,50,75] eachPre(eq, v).cumPositiveStreak() * 5 + v
segmentby是解决连续相同的数据分组计算的通用办法。
segmentby(x->x + seq(0, x.size() - 1) * 5, v, v)