在折线图中绘制来自熊猫数据框的数据

时间:2019-03-29 18:27:34

标签: python pandas

我有以下有关熊猫的数据框。 日期是两个不同的日期,在本例中为16日和17日 时间将从第二天的00:00到24:00 :-) 百分比将从100变为0。

    date        time      percentage
   2018-08-16  00:00      36   
   2018-08-16  00:01      37   
   2018-08-16  00:01      38   
   2018-08-16  00:03      39   
   2018-08-16  00:03      40   
   2018-08-16  00:04      41   
   2018-08-16  00:05      42   
   2018-08-16  00:05      43   
   2018-08-16  00:06      44   
   2018-08-16  00:07      45   
   2018-08-16  00:07      46   
   2018-08-16  00:08      47
...
   2018-08-17  07:24      95   
   2018-08-17  07:25      94   
   2018-08-17  07:25      94   
   2018-08-17  07:32      95   
   2018-08-17  07:43      96   
   2018-08-17  07:52      97  
...

现在,我想在像这样的折线图中绘制此数据:

enter image description here

尝试过:

df.set_index('date', inplace=True)
df.groupby('time')['percentage'].plot(legend=True)

plt.show()

但是总是会出现“ TypeError:空'DataFrame':没有要绘制的数字数据”

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

df.set_index([df.groupby(['date','time']).cumcount(), 'date', 'time'])['percentage']\
  .unstack('date').reset_index(0, drop=True).sort_index().plot()

enter image description here

答案 1 :(得分:0)

这应该做:

df.percentage=df.percentage.astype(int)
for i in df.date.unique():
    aux=df[df.date==i]
    plt.plot(aux.time,aux.percentage)
plt.show()