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,)
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, )
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)
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)
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)
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)
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)
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)