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

为何使用Pandas datetime转换日期格式无效?

问题原因及解决办法

核心原因

  1. 格式参数不匹配:你的源数据日期格式是YYYY-MM-DD-hh-mm-ss,但代码里指定的format='%Y/%m/%d'是斜杠分隔的纯日期格式,和源数据完全不匹配。pd.to_datetime遇到格式不匹配时会自动尝试解析,但这不会帮你去除时分秒部分。
  2. datetime类型不存储显示格式:pd.to_datetime返回的是datetime64类型的Series,这类数据只存储时间戳信息,不存储显示格式。你看到的输出格式只是pandas的默认展示方式,并非数据本身的格式。

解决步骤

方式一:保留datetime类型,仅提取日期部分

如果后续还要做日期运算,建议保留datetime类型,只提取日期部分:

# 原格式是标准ISO格式,可直接解析,无需指定format
temp2 = pd.to_datetime(temp1)
# 提取纯日期(无时分秒)
temp_date_only = temp2.dt.date

方式二:转换为指定格式的字符串

如果需要字符串形式的YYYY-MM-DD日期,使用dt.strftime方法:

temp2 = pd.to_datetime(temp1)
# 转换为目标格式的字符串
temp_str_date = temp2.dt.strftime('%Y-%m-%d')

另外,temp1和temp2都是Series是正常现象——pd.to_datetime处理Series输入时,返回的就是同结构的Series,类型本身没有问题,问题出在格式解析和后续的格式转换环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:05:20