Example #1
0
def test_downsample_hourly_frequency():
    records = [{
        "start": datetime(2015, 1, 1, tzinfo=pytz.UTC) + timedelta(seconds=i*900),
        "value": np.nan if i % 30 == 0 or 1000 < i < 2000 else 0.1,
        "estimated": i % 3 == 0 or 2000 < i < 3000,
    } for i in range(10000)]

    cd = ConsumptionData(records, "electricity", "kWh", record_type="arbitrary_start")

    cd_down = cd.downsample('H')

    assert np.isnan(cd.data["2015-01-01 00:00:00"])
    assert_allclose(cd.data["2015-01-01 00:15:00"], 0.1)
    assert cd.data.shape == (10000,)

    assert cd.estimated["2015-01-01 00:00:00"] == True
    assert cd.estimated["2015-01-01 00:15:00"] == False
    assert cd.estimated.shape == (10000,)

    assert_allclose(cd_down.data["2015-01-01 00:00"], 0.3)
    assert_allclose(cd_down.data["2015-01-01 01:00"], 0.4)
    assert cd_down.data.shape == (2500,)

    assert cd_down.estimated["2015-01-01 00:00"] == True
    assert cd_down.estimated["2015-01-01 01:00"] == False
    assert cd_down.estimated.shape == (2500,)
Example #2
0
def test_downsample_hourly_frequency():
    records = [{
        "start":
        datetime(2015, 1, 1, tzinfo=pytz.UTC) + timedelta(seconds=i * 900),
        "value":
        np.nan if i % 30 == 0 or 1000 < i < 2000 else 0.1,
        "estimated":
        i % 3 == 0 or 2000 < i < 3000,
    } for i in range(10000)]

    cd = ConsumptionData(records,
                         "electricity",
                         "kWh",
                         record_type="arbitrary_start")

    cd_down = cd.downsample('H')

    assert np.isnan(cd.data["2015-01-01 00:00:00"])
    assert_allclose(cd.data["2015-01-01 00:15:00"], 0.1)
    assert cd.data.shape == (10000, )

    assert cd.estimated["2015-01-01 00:00:00"] == True
    assert cd.estimated["2015-01-01 00:15:00"] == False
    assert cd.estimated.shape == (10000, )

    assert_allclose(cd_down.data["2015-01-01 00:00"], 0.3)
    assert_allclose(cd_down.data["2015-01-01 01:00"], 0.4)
    assert cd_down.data.shape == (2500, )

    assert cd_down.estimated["2015-01-01 00:00"] == True
    assert cd_down.estimated["2015-01-01 01:00"] == False
    assert cd_down.estimated.shape == (2500, )
Example #3
0
def test_downsample_empty():
    records = []

    cd = ConsumptionData(records, "electricity", "kWh", record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)
Example #4
0
def test_downsample_empty():
    records = []

    cd = ConsumptionData(records,
                         "electricity",
                         "kWh",
                         record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)
Example #5
0
def test_downsample_single_record():
    records = [{
        "start": datetime(2015, 1, 1, tzinfo=pytz.UTC),
        "value": 0,
        "estimated": False
    }]

    cd = ConsumptionData(records, "electricity", "kWh", record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)
Example #6
0
def test_downsample_two_day():
    records = [{
        "start": datetime(2015, 1, 1, tzinfo=pytz.UTC) + timedelta(days=2*i),
        "value": 1.0,
        "estimated": False,
    } for i in range(100)]

    cd = ConsumptionData(records, "electricity", "kWh", record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)
Example #7
0
def test_downsample_single_record():
    records = [{
        "start": datetime(2015, 1, 1, tzinfo=pytz.UTC),
        "value": 0,
        "estimated": False
    }]

    cd = ConsumptionData(records,
                         "electricity",
                         "kWh",
                         record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)
Example #8
0
def test_downsample_two_day():
    records = [{
        "start":
        datetime(2015, 1, 1, tzinfo=pytz.UTC) + timedelta(days=2 * i),
        "value":
        1.0,
        "estimated":
        False,
    } for i in range(100)]

    cd = ConsumptionData(records,
                         "electricity",
                         "kWh",
                         record_type="arbitrary_start")

    cd_down = cd.downsample('D')

    assert_allclose(cd.data, cd_down.data)
    assert_allclose(cd.estimated, cd_down.estimated)