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

如何清理DataFrame日期列前缀字符并转换为datetime类型

处理带前缀的日期列并转换为datetime类型

问题场景

从API获取的DataFrame中,date列存在file_、test_这类前缀,直接用pd.to_datetime()转换会报错,需要先清理前缀再转为标准日期格式。

解决方案

分两步处理:先清理日期字符串的前缀,再转换为datetime类型。

方法1:按下划线分割取最后部分

适合前缀统一以_结尾的情况:

# 分割字符串并提取最后一段(即纯日期部分)
df['date'] = df['date'].str.split('_').str[-1]
# 转换为datetime类型
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d-%H:%M:%S')

方法2:正则提取日期格式内容

如果前缀格式不固定,用正则精准匹配YYYY-MM-DD-HH:MM:SS格式的内容更稳妥:

# 正则提取符合日期格式的子串
df['date'] = df['date'].str.extract(r'(\d{4}-\d{2}-\d{2}-\d{2}:\d{2}:\d{2})')[0]
# 转换为datetime类型
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d-%H:%M:%S')

验证结果

处理后date列会变为标准的datetime类型(若不需要转换类型,可跳过第二步保留纯日期字符串),最终DataFrame如下:

date  Language   session
0 2022-12-14 03:15:26   English   Morning
1 2022-12-15 13:13:30    French  Afternoon
2 2022-12-14 05:10:16   Spanish   Morning
3 2022-12-14 10:08:26   Chinese   Morning

报错原因

直接调用pd.to_datetime()时,带file_、test_前缀的字符串不符合默认的日期解析格式,导致解析失败,必须先清理非日期字符再转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 03:05:12