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

使用Pandas计算DataFrame中日期到指定日期的天数差

解决方案:计算日期差生成新列

没问题,这事儿好办!我来一步步帮你实现给DataFrame新增age_in_days列的需求:

  • 第一步:确保日期列是datetime类型
    原始数据里的open_date大概率是字符串格式,得先转换成pandas能识别的datetime类型,不然没法计算天数差:

    import pandas as pd
    
    # 构造你的DataFrame
    data = {
        'ID': [1, 1, 1, 1],
        'open_date': ['2020-06-03', '2020-06-23', '2019-06-29', '2018-06-29'],
        'limit': [100, 500, 300, 400]
    }
    df = pd.DataFrame(data)
    
    # 转换open_date为datetime类型
    df['open_date'] = pd.to_datetime(df['open_date'])
    
  • 第二步:定义目标日期并计算天数差
    把你指定的2020-06-30转换成datetime对象,然后用它减去每行的open_date,最后提取天数属性生成新列:

    # 设定目标日期
    target_date = pd.to_datetime('2020-06-30')
    
    # 计算天数差并新增列
    df['age_in_days'] = (target_date - df['open_date']).dt.days
    
  • 第三步:查看结果
    运行完上面的代码后,打印df就能得到你想要的输出:

    print(df)
    

    输出结果:

    ID  open_date  limit  age_in_days
    0   1 2020-06-03    100           27
    1   1 2020-06-23    500            7
    2   1 2019-06-29    300          367
    3   1 2018-06-29    400          732
    

小提示

如果你的open_date列本来就是datetime类型,那第一步的转换可以跳过,但加上转换步骤能避免因格式问题导致的报错,更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 00:47:41