0
我正在尝试为下面的R代码找到相应的Pyspark代码。在Pyspark中等效的R公式
产生滞后变量
car <-
car %>%
group_by(Model) %>%
mutate(Target.1 = lag(Target, 3),Sales.1 = lag(Sales, 3))
任何想法? 感谢
我正在尝试为下面的R代码找到相应的Pyspark代码。在Pyspark中等效的R公式
car <-
car %>%
group_by(Model) %>%
mutate(Target.1 = lag(Target, 3),Sales.1 = lag(Sales, 3))
任何想法? 感谢
我想利用窗口函数应该工作,虽然你将需要一些东西来排序:
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))
我用这一个环路。我每个月都有3排。我正在使用以下条件。某些原因,结果不正确。 (3): if i <= 3: df = df.withColumn(“target1”,func.when(df.Month == 1,df.Target).otherwise(func.lag(df .Target,3).over(Window.partitionBy(a,b,c).orderBy(a,b,c)))) – Ramsey
它是如何不正常工作的?你为什么同时拥有“因为我在范围(3)”和“如果我<= 3”,这似乎是多余的。 – aku
你帮助我完美工作的人,我的逻辑错了。感谢您的帮助:) – Ramsey