pandas调用pd.to_datetime转换时间时报ParserError未知字符串格式怎么解决
错误原因
你使用的时间字符串中,秒与毫秒的分隔符为冒号:,不符合pandas to_datetime 方法默认的时间格式规则(默认毫秒分隔符为英文点.),因此解析失败,抛出如下错误:
ParserError: Unknown string format: 2021-11-12 04:08:13:427
解决方案
你可以选择以下任意一种方法完成转换:
- 方法1:手动指定时间格式(数据量较大时更推荐,解析速度远高于自动解析)
df['Time'] = pd.to_datetime(df['Time'], format='%Y-%m-%d %H:%M:%S:%f')
格式串说明:%Y对应4位年份、%m对应2位月份、%d对应2位日期、%H对应24小时制小时、%M对应分钟、%S对应秒、%f对应微秒,可兼容3位毫秒的场景。
- 方法2:先替换分隔符再转换
先将时间字符串最后一个冒号替换为点,再调用默认解析逻辑:
# 从右往左只替换第一个冒号为点,避免修改前面时间部分的冒号 df['Time'] = pd.to_datetime(df['Time'].str.rsplit(':', n=1).str.join('.'))
内容的提问来源于stack exchange,提问作者Bayrem
相关产品推荐
相关产品推荐

