commonpower.data_forecasting.data_sources.ArrayDataSource
- class ArrayDataSource(values_dict: dict, date_range: List[datetime], frequency: timedelta = datetime.timedelta(seconds=3600), start_date: datetime | None = None)[source]
Bases:
DataSourceDataSource which repeatedly returns array values, one for each timestep.
Usage Example: ``` looping_data = ArrayDataSource({
“day_night”: [0.] * 6 + [1.] * 12 + [0.] * 6, “weekends”: [0.] * 24 * 5 + [1.] * 24 * 2, “prime_chaos”: [0, 42, 73, 4, 5, 6, 7], }, date_range=[pd.to_datetime(‘2024-01-01’), pd.to_datetime(‘2024-12-31’)] # 2024 starts with a Monday
)
- param values_dict:
Dict containing element names and the respective arrays that should be returned.
- type values_dict:
dict
- param date_range:
Date range to simulate.
- type date_range:
List[datetime]
- param frequency:
Frequency of data to simulate. Defaults to timedelta(hours=1).
- type frequency:
timedelta, optional
- param start_date:
The datetime at which the arrays begin looping. Defaults to date_range[0]
- type start_date:
datetime, optional
Methods
Returns the date range data is available for.
Returns the limits for each variable in the data source.
Returns the list of element names that data is available for.
- __call__(from_time: datetime, to_time: datetime) ndarray[source]
Return the data in this date range.
- Parameters:
from_time (datetime) – Start time of observation.
to_time (datetime) – End time of observation.
- Returns:
np.ndarray – Data of shape (n_horizon, n_vars).
- get_date_range() List[datetime][source]
Returns the date range data is available for.
- Returns:
List[datetime] – [start_date, end_date]