2016-09-23 109 views
0

我有一個數據值表,應該以半小時爲間隔進行索引,我一直在用熊貓和Numpy處理它們。目前它們處於CSV文件中,我使用read_csv將它們導入數據幀,僅將interval-endpoint作爲索引。我對此感到不舒服,並希望將間隔本身作爲索引。對於半小時的時間間隔,我可以使用Pandas TimeDeltaIndex,PeriodIndex或DateTimeIndex?

我不知道是否使用DateTimeIndexPeriodIndexTimedeltaIndex ......在實踐中,它們在我看來都很相似。我的操作包括

  • 尋找一個特定的時間間隔
  • 檢查,如果一個DateTime包含在一個特定的時間間隔
  • 路口和間隔
  • 斯普利特(集)的差異,並加入間隔

熊貓可以做所有這些嗎?這是可取的嗎?我已經在使用this interval library,會不會使用Pandas tslibperiod更好?

回答

0

如果你只需要一個系列,以30分鐘的時間間隔,你可以這樣做:

import pandas as pd 
import datetime as dt 

today = dt.datetime.date() 
yesterday = dt.datetime.date()-dt.timedelta(days=1) 
time_range = pd.date_range(yesterday,today, freq='30T') 

現在你可以用它來建立這樣一個指數有

pd.DataFrame(0, index=time_range,columns=['yourcol']) 

Out[35]: 
        yourcol 
2016-09-25 00:00:00  0 
2016-09-25 00:30:00  0 
2016-09-25 01:00:00  0 
2016-09-25 01:30:00  0 
2016-09-25 02:00:00  0 

這將是一個DateTimeIndex

,你可以在這裏閱讀更多關於時間間隔大熊貓:http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases

+0

但它是一個我因爲我可以在問題中描述操作嗎?像交集和設置差異?每個單獨的間隔是否都有一個標識,以便我可以找到它的起點和終點? –

相關問題