Python绘图日期格式错误:显示1970年代而非2023年数据
解决Matplotlib图表日期显示为1970年代的问题
问题出在你的日期列还是字符串格式,Matplotlib无法识别这种格式的日期,会把它当作原始数值处理,对应到Unix纪元(1970年1月1日)的偏移量,所以才会显示错误的1970年代日期。
解决步骤如下:
将字符串日期转换为datetime类型
使用Pandas的to_datetime方法,指定匹配你日期格式的参数。你的日期格式是'03-Apr-23',对应格式符'%d-%b-%y':import pandas as pd # 注意列名里的空格(你的数据列是'Date ',带尾部空格) next_3_months_data['Date '] = pd.to_datetime(next_3_months_data['Date '], format='%d-%b-%y')这里
%d代表两位日期,%b代表缩写月份(如Apr),%y代表两位年份,Pandas会自动把23映射为2023,符合你的数据需求。验证转换结果
可以打印日期列的数据类型确认转换成功:print(next_3_months_data['Date '].dtype)输出应为
datetime64[ns]。保留原有绘图代码
转换完成后,你原来的绘图代码不需要修改,Matplotlib现在能正确识别datetime类型的日期轴,会显示2023年的正确日期。
内容的提问来源于stack exchange,提问作者Mohamed Ajwada
相关产品推荐
相关产品推荐

