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

如何基于DataFrame的MyMonth列动态生成月初月末等时间字段?

实现方案

你可以直接借助pandas内置的日期处理能力完成批量计算,不需要逐行遍历,性能更高,完整实现代码如下:

  • 第一步:导入依赖库
import pandas as pd
import datetime
  • 第二步:转换MyMonth字段为日期类型,批量生成目标列
# 读取你的DataFrame后先执行日期格式转换
df['month_temp'] = pd.to_datetime(df['MyMonth'], format='%b-%Y')

# 生成当月第一天
df['StartDate'] = df['month_temp'].dt.to_period('M').dt.to_timestamp()
# 生成下月第一天
df['NextmonthDate'] = df['StartDate'] + pd.DateOffset(months=1)
# 生成当月最后一天23:59:59
df['EndDate'] = df['NextmonthDate'] - datetime.timedelta(seconds=1)
# 生成往后12个月第一天(匹配示例逻辑,从下月开始算12个月)
df['Next12MonthDate'] = df['NextmonthDate'] + pd.DateOffset(months=12)

# 删除中间临时列
df = df.drop(columns=['month_temp'])
  • 可选步骤:如果需要将日期转成示例中的字符串格式,可追加如下代码
date_cols = ['StartDate', 'EndDate', 'NextmonthDate', 'Next12MonthDate']
for col in date_cols:
    df[col] = df[col].dt.strftime('%Y-%m-%d %H:%M:%S')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:03