utils.validation.check_exog
utils.validation.check_exog(exog, allow_nan=True, series_id='`exog`')Validate that exog is a pandas Series or DataFrame.
This function ensures that exogenous variables meet basic requirements: - Must be a pandas Series or DataFrame - If Series, must have a name - Optionally warns if NaN values are present
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| exog | Union[pd.Series, pd.DataFrame] | Exogenous variable/s included as predictor/s. | required |
| allow_nan | bool | If True, allows NaN values but issues a warning. If False, raises no warning about NaN values. Defaults to True. | True |
| series_id | str | Identifier of the series used in error messages. Defaults to “exog”. |
'exog' |
Raises
| Name | Type | Description |
|---|---|---|
| TypeError | If exog is not a pandas Series or DataFrame. | |
| ValueError | If exog is a Series without a name. |
Warns
If allow_nan=True and exog contains NaN values.
Examples
>>> import pandas as pd
>>> import numpy as np
>>> from spotforecast2_safe.utils.validation import check_exog
>>>
>>> # Valid DataFrame
>>> exog_df = pd.DataFrame({"temp": [20, 21, 22], "humidity": [50, 55, 60]})
>>> check_exog(exog_df) # No error
>>>
>>> # Valid Series with name
>>> exog_series = pd.Series([1, 2, 3], name="temperature")
>>> check_exog(exog_series) # No error
>>>
>>> # Invalid: Series without name
>>> exog_no_name = pd.Series([1, 2, 3])
>>> try:
... check_exog(exog_no_name)
... except ValueError as e:
... print(f"Error: {e}")
Error: When `exog` is a pandas Series, it must have a name.
>>>
>>> # Invalid: not a Series/DataFrame
>>> try:
... check_exog([1, 2, 3])
... except TypeError as e:
... print(f"Error: {e}")
Error: `exog` must be a pandas Series or DataFrame. Got <class 'list'>.