2013-11-28 37 views
0

我有一個大型數據集。我得到一個陣列,我得到使用散佈數據集在MatPlotLib中繪製日期

arDates = DataSet["dates"].Values 

該數組應該顯示這樣。

arDates = [u'2013-11-27T02:02:50' u'2013-11-27T00:00:00' u'2013-11-27T00:00:00' 
u'2013-11-27T00:00:00'] 

我正在努力繪製此圖並將其表示爲直方圖。

1-我創建的線360(每天)

bins = np.linspace(0, 360, 10) 
daily = DataSet.groupby(lambda x: arDates[x]) 
plt.axis([0,360,0,100]) 

1-我應該作出histogram2D並使年axeY,和天爲axeX。 2 - 我可以提取陣列日期是這樣的:

daily = DataSet.groupby(lambda x: x.year()) 
daily = DataSet.groupby(lambda x: x.month()) 
daily = DataSet.groupby(lambda x: x.day()) 

所以我究竟錯在這裏做什麼? 我找不到解析日期和製作一維直方圖的方法 我這樣做,但我得到一個空的數字。 。

數據集[ 「日期」] HIST(顏色= 'K',α-= 0.5,範= '假')

+0

這是不完全清楚你想要達到什麼。除了「什麼是最好的方式」之外,沒有什麼真正的問題,但這並不一定與您發佈的代碼相關,並且基於觀點。以這種方式問這個問題:「目前,我的代碼確實......但我希望它能這樣做......所以我在這裏做錯了什麼?」 – Mark

+1

謝謝,我編輯了問題 – user3047512

+0

只是好奇爲什麼這有'R'標籤? –

回答

0

也許這是你的意思:

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
arDates = pd.Series(pd.DatetimeIndex([u'2013-11-27T02:02:50', u'2013-11-25T00:00:00', u'2013-11-25T00:00:00', 
    u'2013-11-25T00:00:00']).dayofyear) 
arDates.hist() 
plt.show() 
print np.histogram(arDates) 

輸出:

(array([3, 0, 0, 0, 0, 0, 0, 0, 0, 1]), array([ 329. , 329.2, 329.4, 329.6, 329.8, 330. , 330.2, 330.4, 
     330.6, 330.8, 331. ])) 
相關問題