我有以下有关熊猫的数据框。 日期是两个不同的日期,在本例中为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
...
现在,我想在像这样的折线图中绘制此数据:
尝试过:
df.set_index('date', inplace=True)
df.groupby('time')['percentage'].plot(legend=True)
plt.show()
但是总是会出现“ TypeError:空'DataFrame':没有要绘制的数字数据”
有人可以帮我吗?
答案 0 :(得分:1)
您可以尝试以下方法:
df.set_index([df.groupby(['date','time']).cumcount(), 'date', 'time'])['percentage']\
.unstack('date').reset_index(0, drop=True).sort_index().plot()
答案 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()