【问题标题】:repeat values row by row until find changes逐行重复值,直到找到更改
【发布时间】:2019-12-26 04:54:17
【问题描述】:

我有这张桌子:

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 分组。

有什么想法吗?谢谢!

【问题讨论】:

    标签: pyspark pyspark-sql pyspark-dataframes


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 2021-08-20
      相关资源
      最近更新 更多