逐行重复值,直到找到更改

时间:2019-12-26 04:54:17

标签: pyspark pyspark-sql pyspark-dataframes

我有这张桌子:

date        id    value
12/20/19    123   0
12/21/19    123   0
12/22/19    123   1
12/23/19    123   0
12/24/19    123   0
12/25/19    123   0
12/26/19    123   0
12/27/19    123   0
12/28/19    123   -1
12/29/19    123   0
12/30/19    123   0
12/31/19    123   0
12/20/19    563   0
12/21/19    563   0
12/22/19    563   0
12/23/19    563   0
12/24/19    563   1
12/25/19    563   0
12/26/19    563   0

我需要得到这样的东西:

date        id    value
12/20/19    123   0
12/21/19    123   0
12/22/19    123   1
12/23/19    123   1
12/24/19    123   1
12/25/19    123   1
12/26/19    123   1
12/27/19    123   1
12/28/19    123   -1
12/29/19    123   -1
12/30/19    123   -1
12/31/19    123   -1
12/20/19    563   0
12/21/19    563   0
12/22/19    563   0
12/23/19    563   0
12/24/19    563   1
12/25/19    563   1
12/26/19    563   1

因此,我需要逐行重复该值,直到发生更改为止。请注意,我必须按日期和ID进行分组。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用Window Functions查看基于组的下一行值,并相应地更改数据