2013-02-22 31 views
1

我有一個時間序列作爲熊貓系列對象。我想通過查看過去60天的數據來預測一天的價值。出於這個原因,我想把我的時間序列轉換成一個看起來像這樣的數據框(這樣我就可以將它提供給學習算法)。將時間序列轉換爲數據幀,以便每一行具有連續的時間片

Day 1 Day2  ... Day 60 value 
986.55 990.95 ... 1618.86 1655.5 
990.95 1017.85 ... 1655.5 1669.8 
1017.85 1053.68 ... 1669.8 1707.2 

我該怎麼做這樣的轉換?

我的時間序列看起來像這樣(index是一個pandas.tseries.index.DatetimeIndex);

DATE 
1991-01-02 986.55 
1991-01-03 990.95 
1991-01-04 1017.85 
1991-01-05 1053.68 
+0

那麼你的時間序列是什麼樣子? – 2013-02-22 15:05:24

+0

@AndyHayden更新了我的問題。 – yasar 2013-02-22 16:15:33

回答

1

說明s是你得到的系列。您可以通過切片系列日復一日創建成爲一個數據幀:

df = pd.DataFrame([s[i:i+60].values for i in range(len(s)-60)]) 

然後重命名列:

df.columns=['Day '+str(i) for i in range(1,61)] 
0
doffset = pd.tseries.offsets.Day(60) 

f = lambda x: pd.DataFrame(x.tolist()).T 

pd.concat([f(df['value'].ix[i:i+doffset]) for i in df.index]) 
相關問題