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

日期解析的最优方案:Pandas筛选3个月前整月数据的优化问询

更简便的Pandas日期解析与3个月前月份筛选方法

你当前用timedelta(days=90)推算3个月前日期的方式存在精度问题——不同月份天数不同,90天并不总能精准对应3个自然月(比如从3月31日减90天会跳到1月1日,而实际3个月前是12月)。下面是两种更准确且简洁的实现方式:

方法一:用Pandas原生DateOffset实现

Pandas的DateOffset可以直接按月份偏移,再通过replace锁定当月第一天,代码更简洁且精准:

final_date = (pd.Timestamp.today() - pd.DateOffset(months=3)).replace(day=1)

方法二:结合datetime与relativedelta

如果习惯用标准库datetime,可借助dateutil的relativedelta实现精准月份偏移(需先安装python-dateutil):

from datetime import datetime
from dateutil.relativedelta import relativedelta

final_date = (datetime.today() - relativedelta(months=3)).replace(day=1)
# 若需要转为Pandas datetime类型,执行下面一行
final_date = pd.to_datetime(final_date)

这两种方法都能精准定位到3个月前的整个月份的第一天,避免了手动拼接日期字符串的繁琐,同时解决了90天推算的精度问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 03:00:55