我从特定日历日期的某些值计数创建了一个pandas数据帧.我是这样做的:
time_series = pd.DataFrame(df['Operation Date'].value_counts().reset_index()) time_series.columns = ['date', 'count']
基本上,它是两列,第一个"日期"是一个带有datetime.date
对象的列,第二列,"count"只是整数值.
现在,我想绘制一个散点图或KDE来表示日历日的值变化,但是如何?
我查看了数据框,它看起来整齐有序,正如我上面所描述的那样.但是当我尝试:
time_series.plot(kind='kde') plt.show()
我得到一个图,其中x轴是从-50到150,好像它datetime.date
以某种方式将对象解析为整数.此外,它产生两个相同的图而不是一个.
我知道如何绘制它们并沿着x轴看日历日吗?
你确定你有约会时间吗?我刚试过这个并且工作正常:
df = date count 7 2012-06-11 16:51:32 1.0 3 2012-09-28 08:05:14 12.0 19 2012-10-01 18:01:47 4.0 2 2012-10-03 15:18:23 29.0 6 2012-12-22 19:50:43 4.0 1 2013-02-19 19:54:03 28.0 9 2013-02-28 16:08:40 17.0 12 2013-03-12 08:42:55 6.0 4 2013-04-04 05:27:27 6.0 17 2013-04-18 09:40:37 29.0 11 2013-05-17 16:34:51 22.0 5 2013-07-07 14:32:59 16.0 14 2013-10-22 06:56:29 13.0 13 2014-01-16 23:08:46 20.0 15 2014-02-25 00:49:26 10.0 18 2014-03-19 15:58:38 25.0 0 2014-03-31 05:53:28 16.0 16 2014-04-01 09:59:32 27.0 8 2014-04-27 12:07:41 17.0 10 2014-09-20 04:42:39 21.0 df = df.sort_values('date', ascending=True) plt.plot(df['date'], df['count']) plt.xticks(rotation='vertical')
编辑:
如果你想要一个散点图,你可以:
plt.plot(df['date'], df['count'], '*') plt.xticks(rotation='vertical')