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

为何pd.to_datetime()处理后日期格式变更?已尝试参数无效

问题解析与解决办法

为什么格式会变更?

  • 你用pd.to_datetime()把字符串格式的日期转换成了pandas带时区的datetime对象(datetime64[ns, UTC]类型),而非保留原字符串格式。这种datetime类型有自身默认的显示规则,就是你看到的'2018-02-25 08:00:00+00:00'——和输入字符串只是展示形式不同,实际时间信息(含UTC时区)完全一致。
  • 输入里的Z是UTC时区标识,pandas解析后会将时区信息保留在datetime对象中,默认就用+00:00的形式展示时区。

如何恢复原显示格式?

分两种场景处理:

  1. 转为字符串格式存储:如果不需要datetime类型的时间运算功能,仅需固定格式的字符串,可通过dt.strftime()把转换后的datetime对象转回指定格式的字符串:
import pandas as pd

# 假设你的DataFrame名为df
df['time'] = pd.to_datetime(df['time']).dt.strftime('%Y-%m-%dT%H:%M:%S.000Z')
  1. 保留datetime类型,仅修改显示格式:如果还要用datetime类型做时间操作,只是希望显示成原格式,可设置pandas全局显示选项:
pd.options.display.date_format = '%Y-%m-%dT%H:%M:%S.000Z'

设置后查看DataFrame时,datetime类型列会按指定格式展示,但实际存储的仍是datetime对象,不影响时间相关运算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:35:27