2017-01-23 66 views
2

我在特定日曆日期的某些值計數中創建了一個熊貓數據框。這是我如何做的:Plot datetime.date熊貓

time_series = pd.DataFrame(df['Operation Date'].value_counts().reset_index()) 
time_series.columns = ['date', 'count'] 

基本上,這是兩列,第一個「約會」是datetime.date對象和第二列一列,「計數」只是整數值。

現在,我想繪製散點圖或KDE來表示日曆天中的值更改,但是如何?

我看着數據幀,它看起來有序,完全按照上面的描述。但是,當我嘗試:

time_series.plot(kind='kde') 
plt.show() 

我得到一個圖,其中x軸是從-50到150,就好像它是解析datetime.date對象作爲整數莫名其妙。此外,它產生了兩個相同的地塊,而不是一個。

任何想法如何繪製它們並沿x軸看到日曆日?

+0

分散是不是KDE,它甚至不清楚你要求什麼。寫下一些可重現的數據。 –

+0

這是我的數據框的樣子: '2016-08-05 65', '2016-11-23 34'等。我怎麼能繪製這些? – guy

+0

現在清楚了嗎? – guy

回答

7

你確定你有datetime?我只是想這和它工作得很好:

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') 

enter image description here

編輯:

如果你想有一個散點圖中,您可以:

plt.plot(df['date'], df['count'], '*') 
plt.xticks(rotation='vertical') 

enter image description here

+0

謝謝你的工作,因爲一些奇怪的原因。此外,我刪除了你的第二行代碼中的反斜槓,不知道你爲什麼包括它.....謝謝! – guy

+0

希望我可以upvote,錯過2聲望upvote grrrrr .....將有一天! – guy