2017-01-23 6 views
2

特定のカレンダーの日付のいくつかの値からパンダのデータフレームを作成しました。ここで私はそれをやった方法です:Plot datetime.date pandas

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

基本的には、二つの列で、最初の「日」はdatetime.dateオブジェクト、第2列、単に整数値であり、「カウント」を持つ列です。

今、暦日に値の変化を表すために散布図またはKDEをプロットしたいと思いますが、どうすればよいですか?

私はデータフレームを見て、それはすべて上で説明したように順番に見えます。しかし、私はしようとすると:

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

私はそれを何とか整数としてdatetime.dateオブジェクトを解析しているかのように、x軸は-50〜150にあるプロットを取得します。また、1つではなく2つの同一のプロットを生成しています。

どのように私はそれらをプロットし、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

EDIT:

あなたは散布図をしたい場合は次のことができます。

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

enter image description here

+0

それはいくつかの奇妙な理由で働いてくれてありがとう。また、コードの2行目のバックスラッシュを削除しましたが、なぜそれを含むのかわかりません.....ありがとう! – guy

+0

私はupvoteすることができます希望grrrrr upvoteに2つの評判を欠いて.....ある日かかります! – guy

関連する問題