使用Pandas转换特定格式Timestamp为Datetime遇ParserError求助
解决Pandas解析自定义Timestamp格式的ParserError问题
你的Timestamp字符串自带首尾方括号,且格式属于非标准的DD/Mon/YYYY:HH:MM:SS±ZZZZ类型,Pandas默认解析器无法直接识别,需要先清理格式再指定匹配规则:
移除首尾方括号
先用字符串方法清理掉Timestamp字段里的[和]:av3["Timestamp"] = av3["Timestamp"].str.strip('[]')指定格式解析为datetime对象
针对清理后的字符串,用pd.to_datetime配合format参数明确格式规则:av3["Timestamp"] = pd.to_datetime(av3["Timestamp"], format="%d/%b/%Y:%H:%M:%S%z")
你也可以把两步合并成一行代码:
av3["Timestamp"] = pd.to_datetime(av3["Timestamp"].str.strip('[]'), format="%d/%b/%Y:%H:%M:%S%z")
格式符说明
%d:两位数字表示的日期(如示例中的23)%b:英文缩写月份(如示例中的Sep)%Y:四位数字表示的年份(如示例中的2013)%H:24小时制的小时数(如示例中的13)%M:两位数字表示的分钟(如示例中的02)%S:两位数字表示的秒(如示例中的47)%z:带符号的时区偏移(如示例中的+0200)
转换完成后,你可以通过av3["Timestamp"].dt.tz验证时区信息是否正确,之后就能正常基于时间列绘制关联图表了。
内容的提问来源于stack exchange,提问作者Blarry
相关产品推荐
相关产品推荐

