使用pd.to_datetime转换时间特征时遇ValueError格式匹配错误求助
问题分析与解决
嘿,我来帮你揪出这个format参数的问题所在!
首先看报错里的时间字符串'21OCT17:00:00:00',咱们把它拆解开对应格式符:
21:日期,对应%d,这部分你写对了OCT:英文月份缩写,你用了%m,但%m是数字格式的月份(比如10代表十月),这里应该用%b来匹配英文月份缩写17:两位年份,你的原格式里完全漏掉了这个部分!直接从日期月份跳到了小时,所以必须加上%y来匹配两位年份00:00:00:00:时:分:秒:微秒,对应%H:%M:%S:%f,这部分是正确的
所以修正后的代码应该是:
df_train['TRDATETIME'] = pd.to_datetime(df_train['TRDATETIME'], format='%d%b%y:%H:%M:%S:%f')
额外提一句:%b会自动识别大写的月份缩写,不需要额外转换大小写,直接用就行~
内容的提问来源于stack exchange,提问作者Bootuz
相关产品推荐
相关产品推荐

