提取开始日期和结束日期之间的日期

ovfsdjhp  于 2021-07-13  发布在  Spark
关注(0)|答案(1)|浏览(502)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

三个月前关门了。
改进这个问题
我有两个日期:开始= 2018-02-15 结束= 2021-02-05 如果我将这两个日期传递给一个方法,我需要得到如下输出。

Start       End
2018-02-15  2018-03-15
2018-03-15  2018-04-15
2018-04-15  2018-05-15
2018-05-15  2018-06-15
...
2021-01-15  2021-02-05

有没有一种方法可以在python、pandas或spark中实现这一点?

xyhw6mcr

xyhw6mcr1#

可以分解两个日期序列:

start = '2018-02-15'
end = '2021-02-05'

df = spark.sql(f"""
    select
        explode(
            arrays_zip(
                sequence(date('{start}'), date('{end}') - interval 1 month, interval 1 month),
                sequence(date('{start}') + interval 1 month, date('{end}'), interval 1 month)
           )
       )
""").selectExpr('col.*').toDF('start', 'end')

相关问题