我正在尝试为下面的R代码找到等效的Pyspark代码。
car <-
car %>%
group_by(Model) %>%
mutate(Target.1 = lag(Target, 3),Sales.1 = lag(Sales, 3))
有什么想法吗? 谢谢
答案 0 :(得分:1)
我认为使用Window函数应该可以工作,尽管你需要按顺序排序:
import pyspark.sql.functions as func
from pyspark.sql.window import Window
window = Window.partitionBy("Model").orderBy( ??? )
car = car.withColumn("Target.1", func.lag("Target", 3).over(window))\
.withColumn("Sales.1", func.lag("Sales", 3))