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

pandas中pd.to_datetime的format参数如何指定带+2时区偏移的格式

解决方案

你需要在format参数中补充秒的匹配规则%S,以及专门匹配时区偏移的格式符%z,完整匹配规则如下:

%Y-%m-%d %H:%M:%S%z

其中%z是Python datetime模块提供的格式符,专门用于匹配±HH:MM格式的UTC时区偏移。


修正后的代码示例

import pandas as pd

date  = ['2015-02-03 21:00:00+02:00','2015-02-03 22:30:00+02:00','2016-02-03 21:00:00+02:00','2016-02-03   22:00:00+02:00']
value_column = [33.24  , 500  , 34.39  , 34.49 ]

# 先统一处理日期字符串中多余的空格,避免格式匹配失败
clean_date_list = [' '.join(i.split()) for i in date]
df = pd.DataFrame(
    {'V1': value_column},
    index=pd.to_datetime(clean_date_list, format='%Y-%m-%d %H:%M:%S%z')
)
print(df.head())

补充说明

  • 你当前未补全格式的写法虽然在测试场景下没有报错,但本质是pandas自动忽略了未匹配的后缀部分,遇到非标准格式的日期时很容易出现转换错误,生产环境建议使用精准匹配规则。
  • 如果不想手动指定格式,也可以直接省略format参数,pandas可以自动识别这类符合ISO标准的带时区日期字符串,不过手动指定格式的转换效率更高,更适合大数据量场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:15:02