def example_arrow(): l = TimeSeries() l[arrow.Arrow(2010, 1, 1)] = 0 l[arrow.Arrow(2010, 1, 3, 10)] = 1 l[arrow.Arrow(2010, 1, 5)] = 0 l[arrow.Arrow(2010, 1, 8)] = 1 l[arrow.Arrow(2010, 1, 17)] = 0 l[arrow.Arrow(2010, 1, 19)] = 1 l[arrow.Arrow(2010, 1, 23)] = 0 l[arrow.Arrow(2010, 1, 26)] = 1 l[arrow.Arrow(2010, 1, 28)] = 0 l[arrow.Arrow(2010, 1, 31)] = 1 l[arrow.Arrow(2010, 2, 5)] = 0 for time, value in l: print(time.naive.isoformat(), 0.1 * value + 1.1) print('') start = arrow.Arrow(2010, 1, 1) end = arrow.Arrow(2010, 2, 5) unit = {'hours': 25} for start, end in span_range(start, end, unit): print(start.naive.isoformat(), l.mean(start, end)) print('') for start, end in span_range(start, end, unit): print(start.naive.isoformat(), -0.2) print(start.naive.isoformat(), 1.2)
def example_mean(): l = TimeSeries() l[datetime.datetime(2010, 1, 1)] = 0 l[datetime.datetime(2010, 1, 3, 10)] = 1 l[datetime.datetime(2010, 1, 5)] = 0 l[datetime.datetime(2010, 1, 8)] = 1 l[datetime.datetime(2010, 1, 17)] = 0 l[datetime.datetime(2010, 1, 19)] = 1 l[datetime.datetime(2010, 1, 23)] = 0 l[datetime.datetime(2010, 1, 26)] = 1 l[datetime.datetime(2010, 1, 28)] = 0 l[datetime.datetime(2010, 1, 31)] = 1 l[datetime.datetime(2010, 2, 5)] = 0 for time, value in l: print(time.isoformat(), 0.1 * value + 1.1) print('') timestep = {'hours': 25} start = datetime.datetime(2010, 1, 1) while start <= datetime.datetime(2010, 2, 5): end = start + datetime.timedelta(**timestep) print(start.isoformat(), l.mean(start, end)) start = end print('') start = datetime.datetime(2010, 1, 1) while start <= datetime.datetime(2010, 2, 5): end = start + datetime.timedelta(**timestep) print(start.isoformat(), -0.2) print(start.isoformat(), 1.2) start = end
def example_arrow(): l = TimeSeries() l[arrow.Arrow(2010, 1, 1)] = 0 l[arrow.Arrow(2010, 1, 3, 10)] = 1 l[arrow.Arrow(2010, 1, 5)] = 0 l[arrow.Arrow(2010, 1, 8)] = 1 l[arrow.Arrow(2010, 1, 17)] = 0 l[arrow.Arrow(2010, 1, 19)] = 1 l[arrow.Arrow(2010, 1, 23)] = 0 l[arrow.Arrow(2010, 1, 26)] = 1 l[arrow.Arrow(2010, 1, 28)] = 0 l[arrow.Arrow(2010, 1, 31)] = 1 l[arrow.Arrow(2010, 2, 5)] = 0 for time, value in l: print time.naive.isoformat(), 0.1 * value + 1.1 print '' start = arrow.Arrow(2010, 1, 1) end = arrow.Arrow(2010, 2, 5) unit = {'hours': 25} for start_time, end_time in span_range(start, end, unit): print start_time.naive.isoformat(), l.mean(start_time, end_time) print '' for start_time, end_time in span_range(start, end, unit): print start_time.naive.isoformat(), -0.2 print start_time.naive.isoformat(), 1.2
def example_mean(): l = TimeSeries() l[datetime.datetime(2010, 1, 1)] = 0 l[datetime.datetime(2010, 1, 3, 10)] = 1 l[datetime.datetime(2010, 1, 5)] = 0 l[datetime.datetime(2010, 1, 8)] = 1 l[datetime.datetime(2010, 1, 17)] = 0 l[datetime.datetime(2010, 1, 19)] = 1 l[datetime.datetime(2010, 1, 23)] = 0 l[datetime.datetime(2010, 1, 26)] = 1 l[datetime.datetime(2010, 1, 28)] = 0 l[datetime.datetime(2010, 1, 31)] = 1 l[datetime.datetime(2010, 2, 5)] = 0 for time, value in l: print time.isoformat(), 0.1 * value + 1.1 print '' timestep = {'hours': 25} start_time = datetime.datetime(2010, 1, 1) while start_time <= datetime.datetime(2010, 2, 5): end_time = start_time + datetime.timedelta(**timestep) print start_time.isoformat(), l.mean(start_time, end_time) start_time = end_time print '' start_time = datetime.datetime(2010, 1, 1) while start_time <= datetime.datetime(2010, 2, 5): end_time = start_time + datetime.timedelta(**timestep) print start_time.isoformat(), -0.2 print start_time.isoformat(), 1.2 start_time = end_time
def test_mean(): ts = TimeSeries([[1, 2], [2, 3], [6, 1], [8, 4]], domain=Domain(0, 9)) assert ts.mean() == 22. / 9 ts = TimeSeries([[1, 2], [2, 3], [6, 1], [8, 4]], domain=Domain([1, 2], [3, 5], [6, 8])) nose.tools.assert_raises(NotImplementedError, ts.mean)
def test_moving_average(): ts = TimeSeries([[1, 2], [2, 3], [6, 1], [8, 4]], domain=Domain(1, 9)) ts2 = TimeSeries( [[1, 2], [2, 3], [6, 1], [8, 4]], domain=Domain(1 - 1, 9 + 1), ) assert dict(ts.moving_average( 1, 2)) == {i: ts2.mean(i - 1, i + 1) for i in range(1, 10)} assert dict(ts.moving_average(0.5, 2)) == { 1 + i / 2.: ts2.mean(1 + i / 2. - 1, 1 + i / 2. + 1) for i in range(0, 17) } ts = TimeSeries([[1, 2], [2, 3], [6, 1], [8, 4]], domain=Domain([1, 2], [3, 5], [6, 8])) nose.tools.assert_raises(NotImplementedError, ts.moving_average, 1, 0.5)