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

pandas如何将带星期前缀的日期列正确转换为datetime类型

代码失效原因

你当前使用的%x格式符属于环境依赖的格式标记,它会读取当前操作系统、区域语言设置下的本地默认日期格式做匹配,本身没有固定的格式定义:

  • 比如在中文简体环境下%x通常对应YYYY/MM/DD格式,欧洲区域多为DD/MM/YYYY格式,和你数据里固定的星期 - 月/日/年结构完全不匹配,自然无法完成解析。
  • 就算是美式英语环境,不同系统版本下%x的输出也可能存在细节差异,用它做固定格式的日期解析没有稳定性可言。
正确实现代码

直接写死和数据格式完全对应的明确格式串即可,不要使用依赖环境的格式标记:

import pandas as pd

df['timestamp'] = pd.to_datetime(
    df['timestamp'],
    format='%A - %m/%d/%Y'
)

格式串说明

  • %A:匹配完整英文星期名称,比如Thursday、Monday
  • %m/%d/%Y:固定匹配月/日/四位年份的斜杠格式,自动兼容1位、2位的月/日数值(比如6/13、10/5这类写法都能正常识别),不受系统环境影响,解析结果稳定。

如果数据里存在星期和实际日期不匹配的脏值,可以在参数里加errors='coerce',把解析失败的值自动转为NaT空时间类型,方便后续排查清洗。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:36:10