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

Python转换DataFrame日期列 按疫苗类型为接种日期添加对应天数

实现步骤

pandas内置了向量化的日期处理能力,无需手动遍历列元素即可完成需求,实现逻辑如下:

  • 第一步:将字符串格式的接种日期列转换为pandas datetime类型
    代码:
    # 显式指定格式避免解析异常,如确认所有日期都是YYYY-MM-DD格式也可以省略format参数
    df['接种日期'] = pd.to_datetime(df['接种日期'], format='%Y-%m-%d')
    
  • 第二步:定义疫苗种类与待加天数的映射关系
    你可以根据实际需求调整下方字典的键值:
    vaccine_day_map = {
        "灭活疫苗": 21,
        "重组蛋白疫苗": 14,
        "腺病毒载体疫苗": 0
    }
    
  • 第三步:生成计算后的日期列
    直接通过pandas内置的时间增量方法完成计算,比for循环效率高100倍以上,且不会出现遍历引发的类型错误:
    # 按疫苗种类匹配天数,转换为时间增量后和接种日期相加
    df['计算后日期'] = df['接种日期'] + pd.to_timedelta(df['疫苗种类'].map(vaccine_day_map), unit='D')
    
    # 如需要输出为YYYY-MM-DD格式的字符串,可加下方代码
    df['计算后日期'] = df['计算后日期'].dt.strftime('%Y-%m-%d')
    

你之前写for循环报错的核心原因大概率是直接对字符串格式的日期做加法,或者遍历取值时类型不匹配,上述方法完全可以替代手动遍历逻辑。

内容的提问来源于stack exchange,提问作者José Goulart

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:45:03