2017-11-10 348 views
0

我有時間序列數據集,其中包含不規則時間戳。我怎樣才能將其轉換爲以5個分鐘間隔將不規則時間戳數據轉換爲等間隔時間序列

Datetime   Value 
11/6/2017 07:56:41 16 
11/6/2017 08:01:22 16 
11/6/2017 08:06:39 23 
11/6/2017 08:11:56 23 
11/6/2017 08:23:18 25 
11/6/2017 08:29:11 31 
11/6/2017 08:36:40 33 
11/6/2017 08:42:05 39 
11/6/2017 08:47:42 39 
11/6/2017 08:53:08 37 
11/6/2017 08:58:28 39 
11/6/2017 09:03:50 39 
11/6/2017 09:09:19 39 

回答

0

設置因爲你沒有表現出任何代碼,或你在哪裏得到你的數據,我只能提供一個快速和骯髒建議一個正規化的時間序列。所以沒有datetimemath的用法。

data = """ 
11/6/2017 07:56:41 16 
11/6/2017 08:01:22 16 
11/6/2017 08:06:39 23 
11/6/2017 08:11:56 23 
11/6/2017 08:23:18 25 
11/6/2017 08:29:11 31 
11/6/2017 08:36:40 33 
11/6/2017 08:42:05 39 
11/6/2017 08:47:42 39 
11/6/2017 08:53:08 37 
11/6/2017 08:58:28 39 
11/6/2017 09:03:50 39 
11/6/2017 09:09:19 39""".strip() 

def rewrite_line(line): 
    date, time, count = line.split() 
    hours, minutes, seconds = time.split(':') 
    minutes, seconds = (int(minutes)/5)*5, 0 
    time = '%02s:%02d:%02d' % (hours, minutes, seconds) 
    return '%s %s %s' % (date, time, count) 

for line in data.splitlines(): 
    print rewrite_line(line) 

應打印類似:

11/6/2017 07:55:00 16 
11/6/2017 08:00:00 16 
11/6/2017 08:05:00 23 
11/6/2017 08:10:00 23 
11/6/2017 08:20:00 25 
11/6/2017 08:25:00 31 
11/6/2017 08:35:00 33 
11/6/2017 08:40:00 39 
11/6/2017 08:45:00 39 
11/6/2017 08:50:00 37 
11/6/2017 08:55:00 39 
11/6/2017 09:00:00 39 
11/6/2017 09:05:00 39 
相關問題