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

Pandas如何将数值列的值作为天数加到日期时间列中

解决方案

错误原因

  • 你的日期列(示例中为date,你的业务代码中为device_install_date)当前是字符串格式,Python 会将+识别为字符串拼接操作,无法直接和整数类型的天数列(示例中为day,你的业务代码中为lifetime)相加
  • 日期加天数不能直接加普通整数,需要转换为pandas可识别的时间增量格式

实现步骤

  1. 首先将日期列转换为pandas datetime类型:
import pandas as pd
# 业务场景下可把date替换为你的实际日期列名device_install_date
df['date'] = pd.to_datetime(df['date'])
  1. 把天数列转为时间增量后和日期列相加,如果你需要先存储计算后的日期,可以生成新列:
# 业务场景下可把date替换为device_install_date,day替换为lifetime,unit='D'代表增量单位为天
df['calculated_date'] = df['date'] + pd.to_timedelta(df['day'], unit='D')
  1. 对应你的筛选需求,可以直接在条件中计算:
# 对比的日期值也转成datetime类型避免格式兼容问题
result = df[df['date'] + pd.to_timedelta(df['day'], unit='D') < pd.to_datetime('2021-07-27')]

拿你给出的示例数据运行后,筛选结果只会返回2021-07-25对应的那一行,符合计算逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:48:02