2017-11-10 1 views
0

불규칙한 타임 스탬프가있는 timeseries 데이터 세트가 있습니다. 어떻게이 당신이 당신의 데이터를 얻을 경우, 나는 단지 신속하고 더러운 제안을 제공 할 수에서 어떤 코드를 표시하거나하지 않았기 때문에로 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

로 설정 정규화 시계열로 변환 할 수 있습니다. 그래서 아무 datetime 또는 math 사용법.

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 
:

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) 

은 뭔가를 인쇄해야합니다

관련 문제