예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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)
예제 #6
0
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)