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

如何使用Pandas自动修复含日期格式与数字混合的数据集

Pandas修复混合格式日期字段(标准日期+Excel数字序列号)

你的日期字段里同时存在标准日期格式和Excel日期序列号(数字),可以通过以下步骤用Pandas批量修复,不用手动在Excel里调整:

  • 读取数据时把日期列设为字符串类型,避免Pandas自动识别出错:

    import pandas as pd
    df = pd.read_csv("你的数据文件.csv", dtype={"日期列名": str})
    
  • 创建清洗后的日期列,先尝试直接转换标准日期格式,无法转换的标记为NaT:

    df["清洗后日期"] = pd.to_datetime(df["日期列名"], errors="coerce")
    
  • 针对标记为NaT的行(也就是那些数字序列号),用Excel的日期规则转换:
    Excel的数字是从1900-01-01开始的天数,所以用origin='1900-01-01'和unit='D'参数转换:

    # 筛选出需要修复的行
    需要修复的行 = df["清洗后日期"].isna()
    # 把数字转成日期
    df.loc[需要修复的行, "清洗后日期"] = pd.to_datetime(
        df.loc[需要修复的行, "日期列名"].astype(float),
        origin="1900-01-01",
        unit="D"
    )
    
  • 处理Excel的1900闰年bug:
    Excel错误地将1900年判定为闰年,导致数字60对应不存在的1900-02-29,需要替换为正确的日期:

    df["清洗后日期"] = df["清洗后日期"].replace(
        pd.Timestamp("1900-02-29"),
        pd.Timestamp("1900-03-01")
    )
    

这样就能批量把两种格式的日期统一成标准datetime类型,实现流程自动化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:18:26