我需要在Polars中进行一个非常简单的操作,但是我找到的文档和示例非常复杂。我只是有一个日期,我想创建一个从下个月的第一天到十二个月后该月的第一天的范围。
我有个约会:
日期 = 2023-01-15
我想找到这两个日期:
范围_开始 = 2023-02-01
范围结束 = 2024-02-01
这在 Polars 中是如何完成的?
from datetime import datetime
from dateutil import relativedelta
my_date = datetime.fromisoformat("2023-01-15")
start = my_date.replace(day=1) + relativedelta.relativedelta(months=1)
end = start + relativedelta.relativedelta(months=12)
# The format of my date
import polars as pl
my_date_pl = pl.lit(datetime.fromisoformat("2023-01-15"))
????
dt.offset_by
例如
pl.select(pl.lit(datetime.fromisoformat("2023-01-15")).dt.offset_by("1mo")).item()
为了避免该错误,您可以在偏移量后添加“_saturating”后缀,如下所示...
pl.select(pl.lit(datetime.fromisoformat("2023-01-31")).dt.offset_by("1mo_saturating")).item()
如果下个月没有相同的日期,则会产生错误,例如 Jan 31 + 1 个月会出错。