def test_basic_hourly(hourly_trace, monkeypatch_temperature_data, mock_isd_weather_source): mdf = ModelDataFormatter("H") df = mdf.create_input(hourly_trace, mock_isd_weather_source) assert all(df.columns == ["energy", "tempF"]) assert df.index[0] == datetime(2000, 1, 1, 0, tzinfo=pytz.UTC) assert df.index[2] == datetime(2000, 1, 1, 2, tzinfo=pytz.UTC) assert df.index.freq == 'H' assert_allclose(df.energy, [1, 1, 0]) assert_allclose(df.tempF, [35.617314, 35.607664, 35.598025]) description = mdf.describe_input(df) assert description.get('start_date') == \ datetime(2000, 1, 1, 0, tzinfo=pytz.UTC) assert description.get('end_date') == \ datetime(2000, 1, 1, 2, tzinfo=pytz.UTC) assert description.get('n_rows') == 3 missing = mdf.get_input_data_mask(df) assert missing.shape == (3, ) assert sum(missing) == 0 daily = mdf.daily_trace_data(hourly_trace) assert daily.shape[0] == 1 assert_allclose(hourly_trace.data.value.sum(), daily.sum())
def test_basic_daily(daily_trace, monkeypatch_temperature_data, mock_isd_weather_source): mdf = ModelDataFormatter("D") df = mdf.create_input(daily_trace, mock_isd_weather_source) assert all(df.columns == ["energy", "tempF"]) assert df.index[0] == datetime(2000, 1, 1, tzinfo=pytz.UTC) assert df.index[2] == datetime(2000, 1, 3, tzinfo=pytz.UTC) assert df.index.freq == 'D' assert_allclose(df.energy, [1, 1, 0.]) assert_allclose(df.tempF, [35.507344, 35.282373, 35.064391]) description = mdf.describe_input(df) assert description.get('start_date') == \ datetime(2000, 1, 1, tzinfo=pytz.UTC) assert description.get('end_date') == \ datetime(2000, 1, 3, tzinfo=pytz.UTC) assert description.get('n_rows') == 3 missing = mdf.get_input_data_mask(df) assert missing.shape[0] == 3 assert missing.sum() == 0 daily = mdf.daily_trace_data(daily_trace) assert daily.shape[0] == 3 assert_allclose(daily_trace.data.value.sum(), daily.sum())