2013-12-09 65 views
2

我有類似的時間序列:熊貓:如何將10分鐘的時間間隔轉換爲數據框?

ts = pd.Series(np.random.randn(60),index=pd.date_range('1/1/2000',periods=60, freq='2h')) 

有一種簡單的方法來讓這個行索引日期和列索引是小時?

基本上我試圖從時間序列轉換成數據框。

+0

你的問題的標題指的是每間隔10分鐘,但你的例子有2個小時的頻率。如果你真的意思是10分鐘,你想把數據彙總到幾個小時? – DSM

+0

這不是我的錯誤。我只想將時間序列變成一個數據幀,將行索引變成日期,將列變成10分鐘的數據。真實的數據是10分鐘的數據。 – user1367204

回答

1

總是有做的事情比我達到的方式巧妙方式,但我會成爲一個平坦的框架,然後再轉動。喜歡的東西

>>> ts = pd.Series(np.random.randn(10000),index=pd.date_range('1/1/2000',periods=10000, freq='10min')) 
>>> df = pd.DataFrame({"date": ts.index.date, "time": ts.index.time, "data": ts.values}) 
>>> df = df.pivot("date", "time", "data") 

這會產生過大的框架粘貼,但看着左上角:

>>> df.iloc[:5, :5] 
time  00:00:00 00:10:00 00:20:00 00:30:00 00:40:00 
date               
2000-01-01 -0.180811 0.672184 0.098536 -0.687126 -0.206245 
2000-01-02 0.746777 0.630105 0.843879 -0.253666 1.337123 
2000-01-03 1.325679 0.046904 0.291343 -0.467489 -0.531110 
2000-01-04 -0.189141 -1.346146 1.378533 0.887792 2.957479 
2000-01-05 -0.232299 -0.853726 -0.078214 -0.158410 0.782468 

[5 rows x 5 columns] 
相關問題