2016-03-15 57 views
0

時間週期我有這樣一個數據幀:對齊數字索引來在熊貓

0 0.131567 1 0.098878 2 0.102000 . ... 94574 0.088912 94575 0.089399

,我知道它對應於某種時間間隔例如。 15:57:32 - 16:50:05所以我想將索引從序列號轉換爲時間戳序列。 ,則輸出看起來像這樣

15:57:32.000000 0.131567 
15:57:32.031000 0.102000 
      ... ... 
16:50:04.969000 0.088912 
16:50:04.000000 0.089399` 

也許我可以用下面的代碼做到這一點:

>  rng = date_range('15:57:32.000000','16:50:04.000000' , freq=??) 
>  ts = Series(data, index=rng) 

但是我應該如何選擇頻率呢? 有沒有其他的方式來做到這一點,或我在正確的道路上?

回答

1

您可以在頻率字段中指定乘數。 help(pd.date_range)給出:

FREQ:字符串或DateOffset,默認 'd'(每日日曆) 頻率串可以具有的倍數,例如'5H'

rng = pd.date_range('15:57:32','16:50:04',freq='33328us') 

然後len(rng)正是94576

2016-03-15 15:57:32   0.881135 
2016-03-15 15:57:32.033328 0.237618 
2016-03-15 15:57:32.066656 0.761269 
.... 
2016-03-15 16:50:03.962272 0.820865 
2016-03-15 16:50:03.995600 0.181762 
+0

非常感謝您的回答! –

+0

順便說一句,你怎麼想出這個乘數?它應該是1/30S,對不對?我在哪裏可以找到有關freq乘法器的信息? –

+1

pd.Timedelta('00:52:32')/ 94575是Timedelta('0 days 00:00:00.033328') –