|  | 
| 7 | 7 | import numpy as np | 
| 8 | 8 | 
 | 
| 9 | 9 | 
 | 
|  | 10 | +def is_datetime(x: pd.Series) -> bool: | 
|  | 11 | +    is_dt = [ | 
|  | 12 | +        pd.api.types.is_datetime64_any_dtype(x), | 
|  | 13 | +        # pd.api.types.is_datetime64_ns_dtype(x), | 
|  | 14 | +        # pd.api.types.is_datetime64_dtype(x), | 
|  | 15 | +        # isinstance(x.dtype, pd.DatetimeTZDtype) | 
|  | 16 | +    ] | 
|  | 17 | + | 
|  | 18 | +    return any(is_dt) | 
|  | 19 | + | 
|  | 20 | + | 
| 10 | 21 | class Data: | 
| 11 | 22 |     def __init__(self,  | 
| 12 |  | -        loadshape_df: Optional[pd.DataFrame]= None,  | 
| 13 |  | -        time_series_df: Optional[pd.DataFrame]= None,  | 
| 14 |  | -        features_df: Optional[pd.DataFrame]= None,  | 
| 15 |  | -        settings: Optional[Data_Settings]= None | 
|  | 23 | +        loadshape_df: Optional[pd.DataFrame] = None,  | 
|  | 24 | +        time_series_df: Optional[pd.DataFrame] = None,  | 
|  | 25 | +        features_df: Optional[pd.DataFrame] = None,  | 
|  | 26 | +        settings: Optional[Data_Settings] = None | 
| 16 | 27 |     ): | 
| 17 | 28 |         if settings is None: | 
| 18 | 29 |             if loadshape_df is None: | 
| @@ -380,8 +391,8 @@ def _convert_timeseries_to_loadshape( | 
| 380 | 391 |             raise ValueError(f"Missing columns in time_series_df: {missing_columns}") | 
| 381 | 392 | 
 | 
| 382 | 393 |         # Check that the datetime column is actually of type datetime | 
| 383 |  | -        if base_df["datetime"].dtypes in _const.datetime_types: | 
| 384 |  | -            base_df["datetime"] = pd.to_datetime(base_df["datetime"], utc=True) | 
|  | 394 | +        if is_datetime(base_df["datetime"]): | 
|  | 395 | +            base_df["datetime"] = pd.to_datetime(base_df["datetime"], utc=True) #TODO: should this be utc=True? should this be applied to all datetime types? | 
| 385 | 396 |         else: | 
| 386 | 397 |             raise ValueError("The 'datetime' column must be of datetime type") | 
| 387 | 398 | 
 | 
|  | 
0 commit comments