如何在pyspark中使用7天的滚动窗口实现用avg填充na

v6ylcynt  于 2021-07-09  发布在  Spark
关注(0)|答案(1)|浏览(351)

我有一个pyspark df如下:

如何使用fill na来填充7天滚动窗口中的平均值,但与类别值相对应,例如,桌面到桌面、移动到移动等。。

dm7nw8vv

dm7nw8vv1#

你可以 coalesce 7天滚动平均值:

from pyspark.sql import functions as F, Window

df2 = df.withColumn(
    'sessoes',
    F.coalesce(
        F.col('sessoes'),
        F.avg('sessoes').over(Window.partitionBy('device').orderBy('data').rowsBetween(-7,0))
    )
)

相关问题