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

Python基于静态日期获取区间内每月最后一天存入DataFrame列

解决方案

直接使用pandas内置的月末频率生成目标日期序列即可,不需要先生成完整日度日期范围再筛选,核心操作步骤如下:

  • 先将输入的字符串格式日期解析为pandas的datetime类型
  • 调用pd.date_range,指定频率为月度末日M,直接拿到区间内所有月份的最后一天
  • 提取日期的day属性存入DataFrame对应列即可

完整可运行代码:

import pandas as pd

# 解析输入的起始月末日期,匹配日/月/年的字符串格式
month_end_date = pd.to_datetime("30/06/2022", format="%d/%m/%Y")
# 定义结束日期
end_date = pd.to_datetime("30/06/2023", format="%d/%m/%Y")

# 直接生成区间内所有自然月的最后一天,无多余日度数据生成
month_last_days = pd.date_range(start=month_end_date, end=end_date, freq="M")

# 构造要求的DataFrame,仅保留日数值
df = pd.DataFrame({
    "day": month_last_days.day
})

运行后得到的df输出和示例格式完全一致,前几行内容如下:

day
0   30
1   31
2   31
3   30
4   31
5   30
6   31
7   31
8   28
9   31
10  30
11  31
12  30

说明:freq="M"参数会自动适配大小月、平闰年的月末日期,不需要额外写判断逻辑,修改起始/结束时间时只要调整对应日期的解析值即可复用代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:09:16