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应该还有一个条目。