Source code for gridstatus.caiso.caiso_utils

import pandas as pd


# NOTE: Currently the gridstatus.CAISO.default_timezone is in the caiso.py file, which imports caiso_utils.py and thus
# it can't be set to the value without causing a circular import, which is why they are hardcoded here.
[docs] def make_timestamp(time_str: str, today: pd.Timestamp, timezone: str = "US/Pacific"): hour, minute = map(int, time_str.split(":")) ts = pd.Timestamp( year=today.year, month=today.month, day=today.day, hour=hour, minute=minute, ) ts = ts.tz_localize(timezone, ambiguous=True) return ts
[docs] def check_latest_value_time(df: pd.DataFrame, column: str): """Check if the latest value time is from the previous day and update the date accordingly Args: df (pd.DataFrame): DataFrame to check column (str): Column to check Returns: pd.Timestamp: Latest time """ current_local_date = pd.Timestamp.now(tz="US/Pacific").date() latest_time_str = df.loc[df[column].last_valid_index(), "Time"] latest_time = make_timestamp( latest_time_str, today=current_local_date, timezone="US/Pacific", ) return latest_time