Python 如何使用日期作为x轴绘制数据帧

Python 如何使用日期作为x轴绘制数据帧,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个简单的数据框,有两列,“日期”和“金额”。我想以日期为x轴绘制金额。数据的第一行是: 22/05/2018,52068.67 21/05/2018,52159.19 15/05/2018,52744.03 08/05/2018,54666.21 08/05/2018,54677.51 01/05/2018,53890.59 30/04/2018,54812.25 27/04/2018,52258.23 26/04/2018,52351.47 23/04/2018,49777.04 23/

我有一个简单的数据框,有两列,“日期”和“金额”。我想以日期为x轴绘制金额。数据的第一行是:

22/05/2018,52068.67
21/05/2018,52159.19
15/05/2018,52744.03
08/05/2018,54666.21
08/05/2018,54677.51
01/05/2018,53890.59
30/04/2018,54812.25
27/04/2018,52258.23
26/04/2018,52351.47
23/04/2018,49777.04
23/04/2018,49952.44
23/04/2018,49992.44
05/04/2018,53238.59
03/04/2018,53631.09
03/04/2018,53839.64
28/03/2018,50836.78
26/03/2018,51206.67
26/03/2018,51372.02
14/03/2018,51110.17
12/03/2018,51411.31
06/03/2018,51169.91
05/03/2018,51374.57
27/02/2018,48728.85
27/02/2018,48730.5
16/02/2018,44988.25
14/02/2018,41948.03
12/02/2018,43776.31
12/02/2018,43800.31
12/02/2018,43840.11
05/02/2018,29358.96
26/01/2018,39491.0
24/01/2018,36470.03
23/01/2018,36562.76
23/01/2018,36616.61
22/01/2018,36582.46
22/01/2018,36665.71
22/01/2018,36743.31
17/01/2018,36965.3
16/01/2018,37044.6
09/01/2018,42083.65
08/01/2018,42183.39
05/01/2018,42285.41
03/01/2018,41537.51
03/01/2018,41579.51
02/01/2018,41945.32
27/12/2017,43003.33
27/12/2017,43217.29
18/12/2017,38208.63
15/12/2017,38315.53
但是,该图给出了数据中未显示的点。例如,2018年5月,价值接近30000美元

我的代码是:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("test.csv", header=None, names =['date', 'amount'])
df['time'] = pd.to_datetime(df['date'])
df.set_index(['time'],inplace=True)
df['amount'].plot()
plt.show()

我做错了什么?

您需要使用正确的格式将日期转换为日期时间,并使用熊猫图

df['date'] = pd.to_datetime(df['date'], format = '%d/%m/%Y')
df.plot('date', 'amount')

您需要按日期对数据进行排序。@A.Kot绘图中的x轴是按日期排序的(参见问题中的图),所以pandas还没有这样做吗?@A.Kot我怎么能按日期排序呢?
pd.to_datetime(“05/02/2018”)
返回
时间戳(“2018-05-02 00:00”)
。您也可以使用“dayfirst”选项:
df['time']=pd.to_datetime(df['date'],dayfirst=True)
。这就解释了
29 05/02/2018 29358.96
从来都不明白为什么美国决定在所有其他国家都使用dd/mm/yyyy的日期中反转日/月…@Bill,是的,日期格式在一开始确实会让你感到困惑,但就像编程中的任何主题一样,你的思维会得到训练,去寻找这些问题areas@Parfait你连英语都不会说!(颜色、行为、节目等)。但我们已经偏离主题了。