pd.to_datetime转换月年字符串出现ValueError残留数据报错如何解决
问题原因
你指定的转换格式与实际数据格式不匹配:
- 格式符
%y用于匹配两位年份,而你的数据中年份为四位格式(如2001、1987),使用%b-%y解析时,仅能匹配到Apr-20这类前缀,剩下的年份后两位(如01)无法被转换,因此抛出对应错误。
解决方案
将格式字符串中的小写%y替换为大写%Y即可,%Y是专门用于匹配四位年份的格式符。
正确转换代码如下:
data['datetime'] = pd.to_datetime(data['date'], format = '%b-%Y')
如果数据中存在少量格式不统一的异常值,可以添加errors='coerce'参数,将无法解析的值设为缺失值NaT,避免转换流程中断:
data['datetime'] = pd.to_datetime(data['date'], format = '%b-%Y', errors='coerce')
内容的提问来源于stack exchange,提问作者Skittles
相关产品推荐
相关产品推荐

