在Python中绘制数据框时出现的问题

时间:2018-12-02 15:08:26

标签: python pandas sorting matplotlib plot

您可以在下面找到我在Python脚本中使用的数据集的样本。

https://ufile.io/2ecay

df = pd.read_excel("C:\\Users\\YannickLECROART\\Desktop\\comedie.xlsx") 

这里是数据集的简要介绍。

enter image description here

日期对象 place_occupees int64 dtype:对象

我使用以下代码将日期列转换为日期时间类型。

df['date'] = pd.to_datetime(df['date'])

所以dtypes给出了这个:

[131124行x 2列]

date               datetime64[ns]
places_occupees             int64
dtype: object

然后我按9到10之间的时间过滤并按时间戳排序。

df['time'] = df['date'].dt.time
idx_0 = df.loc[df.date.dt.hour==9].sort_values('time')

得出以下结果:

                      date  places_occupees      time
540    2017-01-01 09:00:00              238  09:00:00
111418 2017-03-19 09:00:00              735  09:00:00
20700  2017-01-15 09:00:00              530  09:00:00
109978 2017-03-18 09:00:00              735  09:00:00
22140  2017-01-16 09:00:00              530  09:00:00

[5460 rows x 3 columns]
date               datetime64[ns]
places_occupees             int64
time                       object
dtype: object

当我尝试绘制此图时,我收到一条错误消息。

plt.plot(idx_0)
plt.show()

AttributeError: 'datetime.time' object has no attribute 'toordinal'

我想这与我添加的按时间对数据进行排序的第三列时间有关。

现在我该怎么做才能在图表上绘制排序的数据(9点至10点之间)?

谢谢。

0 个答案:

没有答案