solarforecastarbiter.utils.generate_continuous_chunks¶
-
solarforecastarbiter.utils.
generate_continuous_chunks
(data, freq)[source]¶ Generator to split data into continuous chunks with spacing of freq.
Parameters: - data (pandas.Series or pandas.DataFrame) – Data to apply func to. Must have a DatetimeIndex.
- freq (pd.Timedelta) – Expected frequency to split data into continuous chunks
Yields: continuous_data (same as data) – Each continuous chunk that conforms to freq
Raises: TypeError
– If data is not a pandas Series or DataFrame, or does not have a DatetimeIndexValueError
– If freq cannot be converted to a pandas.Timedelta
Examples
The following code would post two forecast series ignoring the missing period in the middle.
>>> series = pd.Series( ... [1.0, 2.0, 3.0, 7.0, 8.0], ... index=[ ... pd.Timestamp('2020-07-01T01:00Z'), ... pd.Timestamp('2020-07-01T02:00Z'), ... pd.Timestamp('2020-07-01T03:00Z'), ... pd.Timestamp('2020-07-01T07:00Z'), ... pd.Timestamp('2020-07-01T08:00Z'), ... ]) >>> session = api.APISession('token') >>> for cser in generate_continuous_chunks(series, pd.Timedelta('1h')): ... session.post_forecast_values('forecast_id', cser)