有没有一种方法来定义滚动窗口设计的用户功能?
例如,我知道我们可以用滚动计算平均值如下-
val wSpec1 = Window.orderBy("c1").rowsBetween(-20, +20)
var dfWithMovingAvg = df.withColumn( "Avg",avg(df("c2")).over(wSpec1))
现在,万一我需要把平均值改成自定义函数( XYZ
),我该怎么做?比如说,我需要执行+,-,+,-或者-,来覆盖滚动窗口
val wSpec1 = Window.orderBy("c1").rowsBetween(-20, +20)
var dfWithAlternate = df.withColumn( "alter",XYZ(df("c2")).over(wSpec1))
现在如何定义函数xyz?我知道我能做到,但是语法的挑战太难了。我做了avg功能,即使是很难理解。
暂无答案!
目前还没有任何答案,快来回答吧!