我有一个pyspark数据帧
+----------+----------+---------------------+
| Activity | Interval | ReadDateTime |
+----------+----------+---------------------+
| A | 1 | 2019-12-13 10:00:00 |
| A | 2 | 2019-12-13 10:00:00 |
| A | 3 | 2019-12-13 10:00:00 |
| B | 1 | 2019-12-13 11:00:00 |
| B | 2 | 2019-12-13 11:00:00 |
| B | 3 | 2019-12-13 11:00:00 |
+--------- +----------+---------------------+
现在,我必须根据上一行中的值向ReadDateTime列添加5分钟。我期望的数据帧如下所示
^{pr2}$我不会将5分钟添加到与间隔1对应的ReadDateTime列中,而将继续向其他行添加5分钟,直到我的活动发生更改
有一个丑陋的方法
当然,我的更新功能不是你想要的,所以你必须改变它,但它会完成工作(你不需要elifs如果模式在所有间隔都是相同的,你可以使它动态)
下面是为任何有更好答案的人创建数据帧的代码
^{pr2}$多亏了阿里·耶斯利的帖子,我已经想出了解决办法 adding hours to timestamp in pyspark dymanically。 我首先将ReadDateTime转换为unix时间戳,并且只有在间隔不等于1时才添加5分钟。所以我的代码如下所示。在
相关问题 更多 >
编程相关推荐