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

Python 提取开始日期和结束日期之间的日期,python,python-3.x,pandas,dataframe,apache-spark,Python,Python 3.x,Pandas,Dataframe,Apache Spark,我有两个日期: 开始=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中实现这一点吗?您可以分解两个日期序列: s

我有两个日期: 开始=
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中实现这一点吗?

您可以分解两个日期序列:

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')

您正在查找
datetime.timedelta(days=30)
@AvenDesta,
datetime.timedelta(days=30)
不行,因为OP希望每个月有相同的日期,而每个月有不同的天数。@buran yep,我已经编辑了我的答案。它是什么语言?@AvenDesta sparksql@mck ,它将从2021-01-15截断至2021-02-05@mck我看到以下日期````开始``结束`` 2018-02-15´2018-03-15´2018-03-15´2018-03-15´2018-04-15´|2020-11-15 | 2020-12-15 | | 2020-12-15 | 2021-01-15 | ``在剩余的几天里,从2021-01-15到2021-02-05应该还有一个条目。