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

Python实现Excel EOMONTH功能 从DataFrame日期列计算月末季末日期

实现方案

基于Pandas即可快速实现该需求,操作步骤如下:

  • 第一步:先将字符串格式的date列转换为Pandas datetime类型,原日期格式为日/月/年,需要指定dayfirst=True避免解析错误
  • 第二步:使用Pandas内置的日期偏移量计算当月月末、当季最后一天,偏移量参数传0保证返回当前周期的最后一天,不会跳转到下一个周期
  • 第三步:把所有日期列格式化为和原列一致的日/月/年字符串格式即可

完整可运行代码

import pandas as pd
from pandas.tseries.offsets import MonthEnd, QuarterEnd

# 构造样例数据,实际使用时替换为你自己读取DataFrame的逻辑即可
df = pd.DataFrame({
    'date': ['28/09/1995', '30/10/1993', '26/02/2021', '04/04/2020']
})

# 转换日期列为datetime类型
df['date'] = pd.to_datetime(df['date'], dayfirst=True)

# 计算月末、季末日期
df['end of month'] = df['date'] + MonthEnd(0)
df['end of quarter'] = df['date'] + QuarterEnd(0)

# 统一格式化日期为日/月/年格式
for col in ['date', 'end of month', 'end of quarter']:
    df[col] = df[col].dt.strftime('%d/%m/%Y')

print(df)

运行输出的结果和你给出的示例完全一致,该写法自动兼容闰年2月的特殊场景,不需要额外做边界判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:45:00