Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Parse_Dates在Python中给了我错误的结果?_Python_Python 3.x_Pandas_Numpy_Matplotlib - Fatal编程技术网

为什么Parse_Dates在Python中给了我错误的结果?

为什么Parse_Dates在Python中给了我错误的结果?,python,python-3.x,pandas,numpy,matplotlib,Python,Python 3.x,Pandas,Numpy,Matplotlib,我正在尝试用Matplotlib绘制时间序列图。我有一个2列的CSV文件,上面有股票的日期和收盘价(日期以“31/07/2020”格式给出) 首先,我解析dates列,使其成为datetime列表。然后通过以下代码绘制数据: data = pd.read_csv('data.csv', parse_dates=['DATE']) date = data['DATE'] stock1 = data['GEN_ELECTRIC'] stock2 = data['NETFLIX'] plt.fig

我正在尝试用Matplotlib绘制时间序列图。我有一个2列的CSV文件,上面有股票的日期和收盘价(日期以“31/07/2020”格式给出)

首先,我解析dates列,使其成为datetime列表。然后通过以下代码绘制数据:

data = pd.read_csv('data.csv', parse_dates=['DATE'])

date = data['DATE']
stock1 = data['GEN_ELECTRIC']
stock2 = data['NETFLIX']

plt.figure()
plt.plot(date, stock1)
plt.savefig('Wrong.png')
我得到了一个名为'error.png'的图表。如果我省略了解析日期,我会得到一个名为'correct.png'的正确图表

我的问题是,“错误的.png”的x记号只有年,Python知道它谈论的是日期。使用正确的版本,情况就不是这样了。此外,“正确的”版本还显示月份和日期,这是不必要的。有人知道,为什么我得到了一个错误的图形吗?我该如何解决这个问题

另外,不要介意在correct.png中重叠的x轴,我可以用plt.locator修复它

任何帮助都将不胜感激。提前感谢


parse_dates
默认格式不是欧洲风格的DD/MM/YYYY。如果第一行是(比如)2020年7月1日,它可能会将其解释为1月7日。稍后,当在2020年7月30日遇到parse_dates时,parse_dates将遇到问题并返回对象数据类型。要正确使用parse_dates,请添加
dayfirst=True
attr我很乐意阅读_csv。这是声明DD/MM格式的正确方法。然后matplotlib应该处理其余的问题。

当从csv汉克斯读取时,尝试通过
dayfirst=True
,以获得您的详细解释!我明白了。:)