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

Pandas 1.5.3与2.0.1中pd.to_datetime的dayfirst参数行为差异问询

Pandas 1.5.3 vs 2.0.1中pd.to_datetime的dayfirst参数行为差异

这个差异的核心原因是Pandas 2.0.x调整了dayfirst参数对ISO格式日期字符串的优先级处理逻辑:

具体行为差异解析

  • 在Pandas 1.5.3及更早版本中,当输入字符串为**标准ISO 8601格式(YYYY-MM-DD)**时,dayfirst=True参数会被忽略,解析器优先遵循ISO规范,将'2023-02-01'解析为2023-02-01(年-月-日)。
  • 在Pandas 2.0.1及后续版本中,dayfirst参数的优先级被提升:即使输入字符串看起来符合ISO格式,解析器也会严格按照dayfirst=True的规则,将'2023-02-01'按年-日-月的逻辑解析,最终得到2023-01-02。

调整背景

Pandas团队的这一修改是为了统一参数行为的一致性:避免用户指定dayfirst=True后,因输入字符串的格式特征(如符合ISO)导致参数被静默忽略的情况,确保用户的显式配置能被严格执行。

按需控制解析结果的方法

如果你需要固定按ISO格式解析(不受dayfirst影响),可以显式指定format参数,这样在两个版本中都会得到一致结果:

pd.to_datetime('2023-02-01', format='%Y-%m-%d')
# 返回 Timestamp('2023-02-01 00:00:00')

如果你确实需要按日在前的规则解析,那么Pandas 2.0+的行为就是符合预期的,无需额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:15:00