You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

以日期为X轴绘制DataFrame出现异常数据点,求错误排查

问题分析与解决方案

这个问题的核心是日期解析格式不明确导致的日期错位!

你的日期数据是DD/MM/YYYY格式(比如22/05/2018代表2018年5月22日),但pd.to_datetime()默认会自动推断日期格式。对于像05/02/2018这样的日期(日和月都≤12),它会错误地将其解析为2018年5月2日(而非正确的2018年2月5日)。

原本属于2月的低数值(比如29358.96)就被错误映射到了5月,这就是你看到绘图中5月出现异常低数据点的原因。


修正后的代码

只需要在pd.to_datetime()中明确指定日期格式即可解决问题:

import pandas as pd 
import matplotlib.pyplot as plt 

df = pd.read_csv("test.csv", header=None, names=['date', 'amount'])
# 明确指定日期格式为DD/MM/YYYY,避免自动推断出错
df['time'] = pd.to_datetime(df['date'], format='%d/%m/%Y')
df.set_index(['time'], inplace=True)
df['amount'].plot()
plt.show()

补充说明

通过format='%d/%m/%Y'告诉pandas日期的结构是「日/月/年」,这样所有日期都会被精准解析,数据点就能对应到正确的日期位置,不会再出现错位的异常值了。

内容的提问来源于stack exchange,提问作者Simd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:00:15