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

如何用Pandas基于今日日期加天数列生成新日期列

嗨,我来帮你搞定这个需求!要给你的DataFrame添加「Predicted Service Date」新列,把「Days till Service」的天数加到指定日期(或今日)上,用pandas结合datetime模块就能轻松实现,下面是具体步骤和代码:

解决方案步骤
  • 导入必要的库:pandas用于数据处理,datetime用于日期操作
  • 加载或构造你的目标DataFrame
  • 确定基准日期(可以是真实今日,也可以是示例中的固定日期)
  • 将天数列转换为时间间隔类型,与基准日期相加得到预测服务日期
  • 可选:将日期格式化为你需要的字符串格式(如示例中的DD/MM/YYYY)
完整代码示例
import pandas as pd
from datetime import datetime

# 1. 构造你的示例DataFrame(如果是已有的df,这步直接跳过)
data = {'Days till Service': [0, 28, 7, 54, 0, 6, 28, 0, 16, 200]}
df = pd.DataFrame(data)

# 2. 选择基准日期:二选一即可
## 选项A:使用真实的今日日期
today = datetime.today().date()

## 选项B:使用示例中的固定日期16/04/2018
# specified_date = datetime.strptime('16/04/2018', '%d/%m/%Y').date()

# 3. 计算预测服务日期:把天数转成时间间隔后和基准日期相加
df['Predicted Service Date'] = df['Days till Service'].apply(lambda x: today + pd.Timedelta(days=x))

# 4. 可选:格式化为和示例一致的DD/MM/YYYY字符串格式
df['Predicted Service Date'] = df['Predicted Service Date'].dt.strftime('%d/%m/%Y')

# 查看最终结果
print(df)
关键代码解释
  • pd.Timedelta(days=x):把整数天数转换成pandas可识别的时间间隔对象,这样才能和日期类型做加法运算
  • datetime.strptime('16/04/2018', '%d/%m/%Y'):如果需要固定使用某个日期而非今日,用这个方法把字符串格式的日期转成datetime对象,再提取date部分
  • dt.strftime('%d/%m/%Y'):把datetime类型的日期转成指定格式的字符串,确保输出和你的示例完全匹配

运行这段代码后,你的DataFrame就会生成符合要求的「Predicted Service Date」列啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:04:43