You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Polars中生成仅包含月末日期的日期范围?

如何在Polars(Python API)中生成仅包含月末日期的日期范围?

你可以通过两种方式实现和Pandas freq='M' 类似的月末日期范围生成:

方法1:利用dt.month_end()转换日期

先生成基础的月度日期范围,再将每个日期转换为对应月份的月末,最后过滤掉超出结束日期的项:

from datetime import datetime
import polars as pl

result = (
    pl.date_range(datetime(2022,5,5), datetime(2022,8,10), "1mo", name="dtrange")
    .dt.month_end()
    .filter(pl.col("dtrange") <= datetime(2022,8,10))
)

运行后输出:

shape: (3,)
Series: 'dtrange' [date]
[
  2022-05-31
  2022-06-30
  2022-07-31
]

方法2:直接使用月末频率"ME"

Polars支持"ME"(Month End)作为频率参数,直接生成符合要求的月末日期范围,和Pandas的freq='M'行为一致:

from datetime import datetime
import polars as pl

result = pl.date_range(datetime(2022,5,5), datetime(2022,8,10), freq="ME", name="dtrange")

这段代码会直接输出你期望的月末日期列表,无需额外转换或过滤。

内容的提问来源于stack exchange,提问作者Luca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:30:22