import eia_api as api
import eia_data
import eia_impute as impute
import pandas as pd
import numpy as np
import requests
import json
import os
import datetime
import plotly.express as px
import plotly.graph_objects as go
from great_tables import GTData Refresh
Load Libraries
Settings
Load settings:
raw_json = open("../settings/settings.json")
meta_json = json.load(raw_json)
# Prototype version
# series = pd.DataFrame(meta_json["series_prototype"])
# Full version
series = pd.DataFrame(meta_json["series"])
api_path = meta_json["api_path"]
meta_path = meta_json["meta_path"]
data_path = meta_json["data_path"]
# Should be setting as false during development
save_data = True
save_meta = True
eia_api_key = os.getenv('EIA_API_KEY')
forecast_settings = meta_json["forecast"]
leaderboard_path = meta_json["backtesting"]["leaderboard_path"]facets_template = {
"parent" : None,
"subba" : None
}
offset = meta_json["refresh"]["offset"]metadata = api.eia_metadata(api_key = eia_api_key, api_path = api_path)
print(metadata.meta.keys())
print(metadata.meta["startPeriod"])
print(metadata.meta["endPeriod"])dict_keys(['id', 'name', 'description', 'frequency', 'facets', 'data', 'startPeriod', 'endPeriod', 'defaultDateFormat', 'defaultFrequency'])
2019-01-01T00
2024-11-05T08
meta_obj = eia_data.get_metadata(api_key = eia_api_key, api_path = api_path, meta_path = meta_path, series = series, offset = 6)
GT(meta_obj.request_meta)| parent | subba | end_act | request_start | end | updates_available |
|---|---|---|---|---|---|
| NYIS | ZONA | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONB | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONC | 2024-11-05 02:00:00 | False | ||
| NYIS | ZOND | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONE | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONF | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONG | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONH | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONI | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONJ | 2024-11-05 02:00:00 | False | ||
| NYIS | ZONK | 2024-11-05 02:00:00 | False |
m = meta_obj.request_meta
index = meta_obj.last_index + 1
data = None
meta_new = None
for i in m.index:
facets = facets_template
facets["parent"] = m.at[i, "parent"]
facets["subba"] = m.at[i, "subba"]
start = m.at[i, "request_start"]
end = m.at[i, "end"]
# Case I - new data is available
if m.at[i, "updates_available"]:
print(m.at[i, "subba"], "- New updates are available, trying to refresh the data")
temp = api.eia_backfill(api_key = eia_api_key,
api_path = api_path+ "data",
facets = facets,
start = start.to_pydatetime()- datetime.timedelta(hours = 24),
end = end.to_pydatetime() + datetime.timedelta(hours = 24),
offset = offset)
temp.data = temp.data[(temp.data["period"] <= end.to_pydatetime()) & (temp.data["period"] >= start.to_pydatetime())]
end_actual = temp.data.period.max()
ts_obj = pd.DataFrame(np.arange(start = start, stop = end_actual + datetime.timedelta(hours = 1), step = datetime.timedelta(hours = 1)).astype(datetime.datetime), columns=["index"])
ts_obj = ts_obj.merge(temp.data, left_on = "index", right_on = "period", how="left")
ts_obj.drop("period", axis = 1, inplace= True)
ts_obj = ts_obj.rename(columns= {"index": "period"})
# Case II - new data is not available
else:
ts_obj = None
print("No new data is available")
meta_temp = eia_data.create_metadata(data = ts_obj, start = start, end = end, type = "refresh")
print(meta_temp)
meta_temp = pd.DataFrame([meta_temp])
# Handling missing values
if ts_obj is not None and meta_temp["na"].iloc[0] is not None and meta_temp["na"].iloc[0] >= 0:
print(meta_temp)
missing_index = ts_obj.value.isnull()
ts_obj.loc[missing_index, "subba"] = meta_temp["subba"].iloc[0]
ts_obj.loc[missing_index, "parent"] = meta_temp["parent"].iloc[0]
ts = impute.impute_series(series= ts_obj, metadata =meta_temp)
ts_obj = ts.data
meta_temp = ts.metadata
if ts_obj is None:
meta_temp["parent"].iloc[0] = m.at[i, "parent"]
meta_temp["subba"].iloc[0] = m.at[i, "subba"]
# Append the data if the refresh was successful
if meta_temp["success"].iloc[0] and meta_temp["update"].iloc[0]:
print("Append the new data")
d = eia_data.append_data(data_path = data_path, new_data = ts_obj, save = save_data)
meta_temp["update"].iloc[0] = True
elif not meta_temp["success"].iloc[0]:
meta_temp["update"].iloc[0] = False
meta_temp["comments"].iloc[0] = meta_temp["comments"].iloc[0] + "The data refresh failed, please check the log; "
if data is None:
data = ts_obj
else:
data = data._append(ts_obj)
if meta_new is None:
meta_new = meta_temp
else:
meta_new = meta_new._append(meta_temp)
meta_new.reset_index(drop=True, inplace=True)No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 286815, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 289124, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 291813, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 293923, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 295706, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 298015, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 300227, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 302149, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 303755, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 305286, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
No new data is available
{'index': None, 'parent': None, 'subba': None, 'time': datetime.datetime(2024, 11, 6, 8, 26, 37, 306829, tzinfo=datetime.timezone.utc), 'start': NaT, 'end': Timestamp('2024-11-05 02:00:00'), 'start_act': None, 'end_act': None, 'start_match': None, 'end_match': None, 'n_obs': None, 'na': None, 'imputed': 0, 'type': 'refresh', 'update': False, 'success': True, 'comments': 'No new data is available; '}
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:51: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: FutureWarning:
ChainedAssignmentError: behaviour will change in pandas 3.0!
You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.
A typical example is when you are setting values in a column of a DataFrame, like:
df["col"][row_indexer] = value
Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
/tmp/ipykernel_7367/2864535603.py:52: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
GT(meta_new,rowname_col = "index")| parent | subba | time | start | end | start_act | end_act | start_match | end_match | n_obs | na | imputed | type | update | success | comments | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NYIS | ZONA | 2024-11-06 08:26:37.286815+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONB | 2024-11-06 08:26:37.289124+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONC | 2024-11-06 08:26:37.291813+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZOND | 2024-11-06 08:26:37.293923+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONE | 2024-11-06 08:26:37.295706+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONF | 2024-11-06 08:26:37.298015+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONG | 2024-11-06 08:26:37.300227+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONH | 2024-11-06 08:26:37.302149+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONI | 2024-11-06 08:26:37.303755+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONJ | 2024-11-06 08:26:37.305286+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||||
| NYIS | ZONK | 2024-11-06 08:26:37.306829+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; |
meta_updated = eia_data.append_metadata(meta_path = meta_path, meta = meta_new, save = save_meta, init = False)
GT(meta_updated)/workspaces/pydata-ny-ga-workshop/pipeline/eia_data.py:66: FutureWarning:
The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
| index | parent | subba | time | start | end | start_act | end_act | start_match | end_match | n_obs | na | imputed | type | update | success | comments |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | NYIS | ZONA | 2024-11-05 05:30:28.064184+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONB | 2024-11-05 05:30:39.101353+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONC | 2024-11-05 05:30:54.164038+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZOND | 2024-11-05 05:31:09.183913+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONE | 2024-11-05 05:31:24.350373+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONF | 2024-11-05 05:31:38.829825+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONG | 2024-11-05 05:31:54.169900+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONH | 2024-11-05 05:32:08.296707+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONI | 2024-11-05 05:32:23.408402+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONJ | 2024-11-05 05:32:39.046172+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 1 | NYIS | ZONK | 2024-11-05 05:32:56.003404+00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | 2022-01-01 00:00:00 | 2024-10-01 01:00:00 | True | True | 24098.0 | 1.0 | 1 | backfill | True | True | Missing values were found; Missing values were imputed |
| 2 | NYIS | ZONA | 2024-11-05 05:34:07.265687+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 2 | NYIS | ZONB | 2024-11-05 05:34:08.968823+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONA | 2024-11-05 05:34:55.831717+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 3 | NYIS | ZONB | 2024-11-05 05:34:55.832984+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 3 | NYIS | ZONC | 2024-11-05 05:34:56.825905+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZOND | 2024-11-05 05:34:58.683314+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONE | 2024-11-05 05:35:00.518441+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONF | 2024-11-05 05:35:02.446782+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONG | 2024-11-05 05:35:04.614086+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONH | 2024-11-05 05:35:06.207796+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONI | 2024-11-05 05:35:08.097463+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONJ | 2024-11-05 05:35:09.823799+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 3 | NYIS | ZONK | 2024-11-05 05:35:11.438723+00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | 2024-10-01 02:00:00 | 2024-11-04 02:00:00 | True | True | 817.0 | 2.0 | 2 | refresh | True | True | Missing values were found; Missing values were imputed |
| 4 | NYIS | ZONA | 2024-11-05 06:18:53.921533+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 4 | NYIS | ZONB | 2024-11-05 06:18:53.923160+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 4 | NYIS | ZONC | 2024-11-05 06:18:53.925576+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZOND | 2024-11-05 06:18:53.927755+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONE | 2024-11-05 06:18:53.929798+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONF | 2024-11-05 06:18:53.931919+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONG | 2024-11-05 06:18:53.934277+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONH | 2024-11-05 06:18:53.936362+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONI | 2024-11-05 06:18:53.938384+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONJ | 2024-11-05 06:18:53.940429+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 4 | NYIS | ZONK | 2024-11-05 06:18:53.942428+00:00 | 2024-11-04 03:00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | ||||||
| 5 | NYIS | ZONA | 2024-11-05 07:13:29.877656+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONB | 2024-11-05 07:13:29.879325+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONC | 2024-11-05 07:13:29.881743+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZOND | 2024-11-05 07:13:29.884192+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONE | 2024-11-05 07:13:29.886783+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONF | 2024-11-05 07:13:29.888828+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONG | 2024-11-05 07:13:29.890905+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONH | 2024-11-05 07:13:29.892945+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONI | 2024-11-05 07:13:29.895023+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONJ | 2024-11-05 07:13:29.897121+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 5 | NYIS | ZONK | 2024-11-05 07:13:29.899284+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONA | 2024-11-05 08:18:01.940488+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONB | 2024-11-05 08:18:01.942347+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONC | 2024-11-05 08:18:01.944807+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZOND | 2024-11-05 08:18:01.947207+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONE | 2024-11-05 08:18:01.949409+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONF | 2024-11-05 08:18:01.951737+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONG | 2024-11-05 08:18:01.953904+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONH | 2024-11-05 08:18:01.956112+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONI | 2024-11-05 08:18:01.958653+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONJ | 2024-11-05 08:18:01.960799+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 6 | NYIS | ZONK | 2024-11-05 08:18:01.962907+00:00 | 2024-11-04 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONA | 2024-11-05 09:14:43.716806+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONB | 2024-11-05 09:14:43.718650+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONC | 2024-11-05 09:14:43.721175+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZOND | 2024-11-05 09:14:43.723692+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONE | 2024-11-05 09:14:43.725798+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONF | 2024-11-05 09:14:43.727901+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONG | 2024-11-05 09:14:43.730062+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONH | 2024-11-05 09:14:43.732151+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONI | 2024-11-05 09:14:43.734230+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONJ | 2024-11-05 09:14:43.736288+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 7 | NYIS | ZONK | 2024-11-05 09:14:43.738332+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONA | 2024-11-05 10:15:57.067161+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONB | 2024-11-05 10:15:57.068935+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONC | 2024-11-05 10:15:57.071304+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZOND | 2024-11-05 10:15:57.073544+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONE | 2024-11-05 10:15:57.075710+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONF | 2024-11-05 10:15:57.077878+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONG | 2024-11-05 10:15:57.080089+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONH | 2024-11-05 10:15:57.082255+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONI | 2024-11-05 10:15:57.084406+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONJ | 2024-11-05 10:15:57.086646+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 8 | NYIS | ZONK | 2024-11-05 10:15:57.089170+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONA | 2024-11-05 11:12:08.669659+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONB | 2024-11-05 11:12:08.671241+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONC | 2024-11-05 11:12:08.673733+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZOND | 2024-11-05 11:12:08.676055+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONE | 2024-11-05 11:12:08.678521+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONF | 2024-11-05 11:12:08.680923+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONG | 2024-11-05 11:12:08.683318+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONH | 2024-11-05 11:12:08.685817+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONI | 2024-11-05 11:12:08.688200+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONJ | 2024-11-05 11:12:08.690246+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 9 | NYIS | ZONK | 2024-11-05 11:12:08.692351+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONA | 2024-11-05 12:24:08.631223+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONB | 2024-11-05 12:24:08.633017+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONC | 2024-11-05 12:24:08.635545+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZOND | 2024-11-05 12:24:08.638218+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONE | 2024-11-05 12:24:08.640476+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONF | 2024-11-05 12:24:08.642837+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONG | 2024-11-05 12:24:08.645469+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONH | 2024-11-05 12:24:08.647570+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONI | 2024-11-05 12:24:08.649617+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONJ | 2024-11-05 12:24:08.651712+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 10 | NYIS | ZONK | 2024-11-05 12:24:08.653801+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONA | 2024-11-05 13:20:54.776474+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONB | 2024-11-05 13:20:54.778407+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONC | 2024-11-05 13:20:54.780916+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZOND | 2024-11-05 13:20:54.783925+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONE | 2024-11-05 13:20:54.786570+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONF | 2024-11-05 13:20:54.788869+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONG | 2024-11-05 13:20:54.791105+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONH | 2024-11-05 13:20:54.793378+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONI | 2024-11-05 13:20:54.795598+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONJ | 2024-11-05 13:20:54.798202+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 11 | NYIS | ZONK | 2024-11-05 13:20:54.800371+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONA | 2024-11-05 14:13:26.554799+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONB | 2024-11-05 14:13:26.556981+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONC | 2024-11-05 14:13:26.559205+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZOND | 2024-11-05 14:13:26.561313+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONE | 2024-11-05 14:13:26.563461+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONF | 2024-11-05 14:13:26.565620+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONG | 2024-11-05 14:13:26.567760+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONH | 2024-11-05 14:13:26.569827+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONI | 2024-11-05 14:13:26.571927+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONJ | 2024-11-05 14:13:26.573969+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 12 | NYIS | ZONK | 2024-11-05 14:13:26.576055+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONA | 2024-11-05 15:14:36.321526+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONB | 2024-11-05 15:14:36.323020+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONC | 2024-11-05 15:14:36.325403+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZOND | 2024-11-05 15:14:36.327829+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONE | 2024-11-05 15:14:36.329900+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONF | 2024-11-05 15:14:36.331971+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONG | 2024-11-05 15:14:36.334037+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONH | 2024-11-05 15:14:36.336106+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONI | 2024-11-05 15:14:36.338178+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONJ | 2024-11-05 15:14:36.340248+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 13 | NYIS | ZONK | 2024-11-05 15:14:36.342316+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONA | 2024-11-05 16:17:41.167646+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONB | 2024-11-05 16:17:41.169418+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONC | 2024-11-05 16:17:41.172029+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZOND | 2024-11-05 16:17:41.174510+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONE | 2024-11-05 16:17:41.177095+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONF | 2024-11-05 16:17:41.179533+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONG | 2024-11-05 16:17:41.181975+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONH | 2024-11-05 16:17:41.184685+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONI | 2024-11-05 16:17:41.186776+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONJ | 2024-11-05 16:17:41.188861+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 14 | NYIS | ZONK | 2024-11-05 16:17:41.190930+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONA | 2024-11-05 17:14:49.406620+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONB | 2024-11-05 17:14:49.408338+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONC | 2024-11-05 17:14:49.411120+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZOND | 2024-11-05 17:14:49.413735+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONE | 2024-11-05 17:14:49.415809+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONF | 2024-11-05 17:14:49.417846+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONG | 2024-11-05 17:14:49.419889+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONH | 2024-11-05 17:14:49.421904+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONI | 2024-11-05 17:14:49.423959+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONJ | 2024-11-05 17:14:49.425997+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 15 | NYIS | ZONK | 2024-11-05 17:14:49.428068+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONA | 2024-11-05 18:17:55.743993+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONB | 2024-11-05 18:17:55.745596+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONC | 2024-11-05 18:17:55.747886+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZOND | 2024-11-05 18:17:55.750673+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONE | 2024-11-05 18:17:55.753029+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONF | 2024-11-05 18:17:55.755127+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONG | 2024-11-05 18:17:55.757269+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONH | 2024-11-05 18:17:55.759390+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONI | 2024-11-05 18:17:55.761507+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONJ | 2024-11-05 18:17:55.763625+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 16 | NYIS | ZONK | 2024-11-05 18:17:55.765748+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONA | 2024-11-05 19:12:09.666775+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONB | 2024-11-05 19:12:09.668731+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONC | 2024-11-05 19:12:09.671448+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZOND | 2024-11-05 19:12:09.673967+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONE | 2024-11-05 19:12:09.676600+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONF | 2024-11-05 19:12:09.678737+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONG | 2024-11-05 19:12:09.680868+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONH | 2024-11-05 19:12:09.683023+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONI | 2024-11-05 19:12:09.685149+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONJ | 2024-11-05 19:12:09.687302+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 17 | NYIS | ZONK | 2024-11-05 19:12:09.689431+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONA | 2024-11-05 20:16:03.042153+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONB | 2024-11-05 20:16:03.043904+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONC | 2024-11-05 20:16:03.046573+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZOND | 2024-11-05 20:16:03.049251+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONE | 2024-11-05 20:16:03.051354+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONF | 2024-11-05 20:16:03.053499+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONG | 2024-11-05 20:16:03.055604+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONH | 2024-11-05 20:16:03.057761+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONI | 2024-11-05 20:16:03.059895+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONJ | 2024-11-05 20:16:03.062049+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 18 | NYIS | ZONK | 2024-11-05 20:16:03.064202+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONA | 2024-11-05 21:13:15.594788+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONB | 2024-11-05 21:13:15.596407+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONC | 2024-11-05 21:13:15.598740+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZOND | 2024-11-05 21:13:15.601034+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONE | 2024-11-05 21:13:15.603507+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONF | 2024-11-05 21:13:15.605550+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONG | 2024-11-05 21:13:15.607639+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONH | 2024-11-05 21:13:15.609684+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONI | 2024-11-05 21:13:15.611742+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONJ | 2024-11-05 21:13:15.613767+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 19 | NYIS | ZONK | 2024-11-05 21:13:15.615929+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONA | 2024-11-05 22:13:51.342465+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONB | 2024-11-05 22:13:51.343996+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONC | 2024-11-05 22:13:51.346271+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZOND | 2024-11-05 22:13:51.348573+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONE | 2024-11-05 22:13:51.351012+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONF | 2024-11-05 22:13:51.353109+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONG | 2024-11-05 22:13:51.355173+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONH | 2024-11-05 22:13:51.357279+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONI | 2024-11-05 22:13:51.359355+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONJ | 2024-11-05 22:13:51.361467+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 20 | NYIS | ZONK | 2024-11-05 22:13:51.363565+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONA | 2024-11-05 23:15:14.764800+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONB | 2024-11-05 23:15:14.766421+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONC | 2024-11-05 23:15:14.768905+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZOND | 2024-11-05 23:15:14.771310+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONE | 2024-11-05 23:15:14.773733+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONF | 2024-11-05 23:15:14.776191+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONG | 2024-11-05 23:15:14.778605+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONH | 2024-11-05 23:15:14.781308+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONI | 2024-11-05 23:15:14.783410+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONJ | 2024-11-05 23:15:14.785570+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 21 | NYIS | ZONK | 2024-11-05 23:15:14.787659+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONA | 2024-11-06 01:00:52.344497+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONB | 2024-11-06 01:00:52.346500+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONC | 2024-11-06 01:00:52.348936+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZOND | 2024-11-06 01:00:52.351350+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONE | 2024-11-06 01:00:52.353920+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONF | 2024-11-06 01:00:52.356177+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONG | 2024-11-06 01:00:52.358298+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONH | 2024-11-06 01:00:52.360494+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONI | 2024-11-06 01:00:52.362612+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONJ | 2024-11-06 01:00:52.364845+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 22 | NYIS | ZONK | 2024-11-06 01:00:52.367130+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONA | 2024-11-06 02:17:33.070254+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONB | 2024-11-06 02:17:33.071765+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONC | 2024-11-06 02:17:33.074022+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZOND | 2024-11-06 02:17:33.076265+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONE | 2024-11-06 02:17:33.078553+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONF | 2024-11-06 02:17:33.080952+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONG | 2024-11-06 02:17:33.083007+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONH | 2024-11-06 02:17:33.085091+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONI | 2024-11-06 02:17:33.087158+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONJ | 2024-11-06 02:17:33.089254+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 23 | NYIS | ZONK | 2024-11-06 02:17:33.091314+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONA | 2024-11-06 03:17:09.827251+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONB | 2024-11-06 03:17:09.828743+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONC | 2024-11-06 03:17:09.831047+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZOND | 2024-11-06 03:17:09.833197+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONE | 2024-11-06 03:17:09.835420+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONF | 2024-11-06 03:17:09.837628+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONG | 2024-11-06 03:17:09.839823+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONH | 2024-11-06 03:17:09.842241+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONI | 2024-11-06 03:17:09.844300+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONJ | 2024-11-06 03:17:09.846398+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 24 | NYIS | ZONK | 2024-11-06 03:17:09.848466+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONA | 2024-11-06 04:17:38.987374+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONB | 2024-11-06 04:17:38.988961+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONC | 2024-11-06 04:17:38.991674+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZOND | 2024-11-06 04:17:38.994021+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONE | 2024-11-06 04:17:38.996520+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONF | 2024-11-06 04:17:38.998589+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONG | 2024-11-06 04:17:39.000618+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONH | 2024-11-06 04:17:39.002688+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONI | 2024-11-06 04:17:39.004703+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONJ | 2024-11-06 04:17:39.006788+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 25 | NYIS | ZONK | 2024-11-06 04:17:39.008826+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONA | 2024-11-06 05:14:11.187091+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONB | 2024-11-06 05:14:11.188768+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONC | 2024-11-06 05:14:11.191355+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZOND | 2024-11-06 05:14:11.193841+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONE | 2024-11-06 05:14:11.196369+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONF | 2024-11-06 05:14:11.198415+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONG | 2024-11-06 05:14:11.200494+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONH | 2024-11-06 05:14:11.202513+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONI | 2024-11-06 05:14:11.204591+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONJ | 2024-11-06 05:14:11.206679+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 26 | NYIS | ZONK | 2024-11-06 05:14:11.208777+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONA | 2024-11-06 06:19:25.777661+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONB | 2024-11-06 06:19:25.779152+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONC | 2024-11-06 06:19:25.781370+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZOND | 2024-11-06 06:19:25.783595+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONE | 2024-11-06 06:19:25.785733+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONF | 2024-11-06 06:19:25.787942+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONG | 2024-11-06 06:19:25.790083+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONH | 2024-11-06 06:19:25.792218+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONI | 2024-11-06 06:19:25.794424+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONJ | 2024-11-06 06:19:25.796801+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 27 | NYIS | ZONK | 2024-11-06 06:19:25.798902+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONA | 2024-11-06 07:13:52.290840+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONB | 2024-11-06 07:13:52.292330+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONC | 2024-11-06 07:13:52.294662+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZOND | 2024-11-06 07:13:52.296879+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONE | 2024-11-06 07:13:52.299330+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONF | 2024-11-06 07:13:52.301383+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONG | 2024-11-06 07:13:52.303468+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONH | 2024-11-06 07:13:52.305577+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONI | 2024-11-06 07:13:52.307643+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONJ | 2024-11-06 07:13:52.309772+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 28 | NYIS | ZONK | 2024-11-06 07:13:52.311832+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONA | 2024-11-06 08:18:21.589771+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONB | 2024-11-06 08:18:21.591253+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONC | 2024-11-06 08:18:21.593766+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZOND | 2024-11-06 08:18:21.596064+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONE | 2024-11-06 08:18:21.598270+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONF | 2024-11-06 08:18:21.600879+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONG | 2024-11-06 08:18:21.602944+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONH | 2024-11-06 08:18:21.605013+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONI | 2024-11-06 08:18:21.607039+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONJ | 2024-11-06 08:18:21.609134+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 29 | NYIS | ZONK | 2024-11-06 08:18:21.611190+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONA | 2024-11-06 08:26:37.286815+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONB | 2024-11-06 08:26:37.289124+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONC | 2024-11-06 08:26:37.291813+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZOND | 2024-11-06 08:26:37.293923+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONE | 2024-11-06 08:26:37.295706+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONF | 2024-11-06 08:26:37.298015+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONG | 2024-11-06 08:26:37.300227+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONH | 2024-11-06 08:26:37.302149+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONI | 2024-11-06 08:26:37.303755+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONJ | 2024-11-06 08:26:37.305286+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; | |||||||
| 30 | NYIS | ZONK | 2024-11-06 08:26:37.306829+00:00 | 2024-11-05 02:00:00 | 0 | refresh | False | True | No new data is available; |
Plot the Series
We will use Plotly to visualize the series:
if data is not None:
input = data.sort_values(by = ["subba", "period"])
p = px.line(input, x="period", y="value", color="subba")
p.show()
else:
input = None
print("No new data is available")No new data is available
Forecast Refresh
Reload the data:
df = pd.read_csv(data_path)
ts = df[["period", "subba", "y"]].copy()
ts["ds"] = pd.to_datetime(ts["period"])
ts = ts[["ds", "subba", "y"]]
ts = ts.rename(columns={"subba":"unique_id"})/tmp/ipykernel_7367/4105294232.py:1: DtypeWarning:
Columns (4,5,6,8) have mixed types. Specify dtype option on import or set low_memory=False.
Check if new data is available and update the forecast:
forecast_log = pd.read_csv(forecast_settings["forecast_log_path"])
forecast_log = pd.read_csv(forecast_settings["forecast_log_path"])
forecast_log["end"] = pd.to_datetime(forecast_log["end"])
models_list = pd.read_csv(leaderboard_path)
forecast_new = None
forecast_log_new = None
for i in forecast_log["unique_id"].unique():
end_fc = forecast_log[forecast_log["unique_id"] == i]["end"].max()
d = ts[ts["unique_id"] == i]
end_filter = d["ds"].max().floor(freq = "d") - datetime.timedelta(hours = 1)
if end_filter > end_fc:
print("New data points are available to series:", i, "refresh the forecast")
input = d[d["ds"] <= end_filter]
label = models_list[models_list["unique_id"] == i]["label"][0]
model = models_list[models_list["unique_id"] == i]["model"][0]
m = models_settings[label].copy()
m["args"]["models"] = [model + "()"]
if m["type"] == "mlforecast":
args = m["args"]
print(args)
if "lags" not in args.keys():
args["lags"] = None
if "date_features" not in args.keys():
args["date_features"] = None
if "target_transforms" not in args.keys():
args["target_transforms"] = None
forecast_utils.models_reformat(args["models"])
mlf = MLForecast(
models =args["models"],
freq= args["freq"],
date_features = args["date_features"],
target_transforms= args["target_transforms"],
lags = args["lags"])
mlf.fit(df = input, fitted=True,
prediction_intervals = PredictionIntervals(n_windows = forecast_settings["prediction_intervals"]["n_windows"], h = forecast_settings["prediction_intervals"]["h"],
method = forecast_settings["prediction_intervals"]["method"] ))
fc_raw = None
fc = None
fc_raw = mlf.predict(forecast_settings["h"],
level = [forecast_settings["prediction_intervals"]["level"]])
fc = forecast_utils.fc_to_long(fc = fc_raw, models = args["models"], level = forecast_settings["prediction_intervals"]["level"])
fc["label"] = label
forecast_label = str(t.date().strftime("%Y-%m-%d"))
fc["forecast_label"] = forecast_label
if fc is not None and len(fc) > 0:
fc_log = {
"unique_id": id,
"model": model,
"label": label,
"forecast_label": forecast_label,
"start": fc["ds"].min(),
"end": fc["ds"].max(),
"n_obs": len(fc),
"h": forecast_settings["h"],
"refresh_time": datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S")
}
if fc_log["n_obs"] == fc_log["h"]:
fc_log["success"] = True
else:
fc_log["success"] = False
else:
fc_log = {
"unique_id": id,
"model": model,
"label": forecast_label,
"forecast_label": forecast_label
}
fc_log["start"] = None
fc_log["end"] = None
fc_log["n_obs"] = None
fc_log["h"] = forecast_settings["h"]
fc_log["refresh_time"] = datetime.datetime.now().strftime("%d/%m/%Y %H:%M:%S")
fc_log["success"] = False
fc_log["mape"] = None
fc_log["rmse"] = None
fc_log["coverage"] = None
fc_log["score"] = False
if forecast_log is None:
forecast_log = pd.DataFrame([fc_log])
else:
forecast_log = pd.concat([forecast_log, pd.DataFrame([fc_log])])
if forecast is None:
forecast = fc
else:
forecast = pd.concat([forecast, fc])
if forecast_new is not None:
forecast_new = forecast_new.sort_values(by = ["forecast_label", "unique_id"])
forecast_new.reset_index(drop=True, inplace=True)
forecast_log_new = forecast_log_new.sort_values(by = ["forecast_label", "unique_id"])
forecast_log_new.reset_index(drop=True, inplace=True)
forecast_new.to_csv(forecast_settings["forecast_path"], index = False)
forecast_log_new.to_csv(forecast_settings["forecast_log_path"], index = False)forecast_log = pd.read_csv(forecast_settings["forecast_log_path"])
update = False
if any(forecast_log["score"] == False):
forecast_log["end"] = pd.to_datetime(forecast_log["end"])
forecast = pd.read_csv(forecast_settings["forecast_path"])
forecast["ds"] = pd.to_datetime(forecast["ds"])
for index, row in forecast_log.iterrows():
id = row["unique_id"]
forecast_label = row["forecast_label"]
fc = forecast[(forecast["forecast_label"] == forecast_label) & (forecast["unique_id"] == id)]
fc = fc.merge(ts, left_on = ["unique_id", "ds"], right_on = ["unique_id", "ds"], how="left")
forecast_log.at[index, "mape"] = forecast_utils.mape(y = fc["y"], yhat = fc["forecast"])
forecast_log.at[index,"rmse"] = forecast_utils.rmse(y = fc["y"], yhat = fc["forecast"])
forecast_log.at[index, "coverage"] = forecast_utils.coverage(y = fc["y"], lower = fc["lower"], upper = fc["upper"])
if len(fc) == row["h"]:
forecast_log.at[index,"score"] = True
update = True
if update:
forecast_log.to_csv(forecast_settings["forecast_log_path"], index = False)
GT(forecast_log)| unique_id | model | label | forecast_label | start | end | n_obs | h | refresh_time | success | mape | rmse | coverage | score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ZONA | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:09 | True | 0.043652243835248 | 95.44281545897655 | 0.7083333333333334 | True |
| ZONB | XGBRegressor | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:10 | True | 0.0489702879754926 | 55.11185472410671 | 0.6666666666666666 | True |
| ZONC | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:10 | True | 0.0294291776131267 | 54.89107179763394 | 0.9583333333333334 | True |
| ZOND | LGBMRegressor | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:11 | True | 0.0229545288051701 | 18.555757547214046 | 1.0 | True |
| ZONE | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:12 | True | 0.0221764717319209 | 21.898557451386345 | 0.9583333333333334 | True |
| ZONF | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:12 | True | 0.0268308066646414 | 40.53750100987647 | 1.0 | True |
| ZONG | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:13 | True | 0.1035057362451028 | 105.17885990069207 | 0.75 | True |
| ZONH | XGBRegressor | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:14 | True | 0.1064112030516249 | 25.45401422957301 | 0.4583333333333333 | True |
| ZONI | XGBRegressor | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:15 | True | 0.0505628646804763 | 33.89463797766538 | 0.8333333333333334 | True |
| ZONJ | LGBMRegressor | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:16 | True | 0.0656605589287828 | 314.9741894798421 | 0.0833333333333333 | True |
| ZONK | LinearRegression | model4 | 2024-11-01 | 2024-11-02 | 2024-11-02 23:00:00 | 24 | 24 | 06/11/2024 07:55:16 | True | 0.1367364850464813 | 270.2176330551692 | 0.3333333333333333 | True |
| ZONA | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:17 | True | 0.0406913003603799 | 71.60527947080918 | 0.7083333333333334 | True |
| ZONB | XGBRegressor | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:18 | True | 0.0632724334151587 | 60.72460597309195 | 0.75 | True |
| ZONC | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:18 | True | 0.1093787429724178 | 180.95626539971647 | 0.7083333333333334 | True |
| ZOND | LGBMRegressor | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:19 | True | 0.0300886974736746 | 23.02897283243766 | 0.9166666666666666 | True |
| ZONE | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:19 | True | 0.1260882106253828 | 97.36083704095964 | 0.75 | True |
| ZONF | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:20 | True | 0.073546742306513 | 93.86685356486336 | 0.7916666666666666 | True |
| ZONG | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:20 | True | 0.0712675709324085 | 65.10305390846375 | 0.7083333333333334 | True |
| ZONH | XGBRegressor | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:21 | True | 0.0727322594079201 | 20.817034743164285 | 0.5 | True |
| ZONI | XGBRegressor | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:23 | True | 0.0225743780372122 | 13.925164828678495 | 1.0 | True |
| ZONJ | LGBMRegressor | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:23 | True | 0.0152176194269242 | 78.30077282677799 | 1.0 | True |
| ZONK | LinearRegression | model4 | 2024-11-02 | 2024-11-03 | 2024-11-03 23:00:00 | 24 | 24 | 06/11/2024 07:55:24 | True | 0.0500792251687481 | 95.35071556561104 | 0.7916666666666666 | True |