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

DataFrame中字符串时间序列转datetime对象并保留格式报错求助

问题解决:时间字符串转datetime报错及格式保留需求

报错原因

你的时间字符串存在前导空格(示例:' 06-30-2022 19:41:15'),与指定的解析格式%m-%d-%Y %H:%M:%S不匹配,导致pandas无法正确解析时间。

解决方案

1. 先清理字符串空格

首先对时间列做字符串清洗,去除前后多余空格:

df['Timestamp'] = df['Timestamp'].str.strip()

2. 转换为datetime对象(推荐)

如果需要后续进行时间筛选、运算等操作,建议将列转为datetime类型(datetime对象本身不存储显示格式,可按需设置显示样式):

# 转换为datetime类型
df['Timestamp'] = pd.to_datetime(df['Timestamp'], format='%m-%d-%Y %H:%M:%S')

# 设置pandas默认显示格式为月在前年在后
pd.options.display.date_format = '%m-%d-%Y %H:%M:%S'

3. 转换为字符串格式(仅用于展示)

若你需要将列存为字符串类型并保持月在前年在后的格式,可在转换后格式化:

df['Timestamp'] = pd.to_datetime(df['Timestamp'].str.strip(), format='%m-%d-%Y %H:%M:%S').dt.strftime('%m-%d-%Y %H:%M:%S')

注意:此操作会将列转为字符串,无法再进行datetime类型的时间操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:50:23