Skip to content

Commit c3e9f3c

Browse files
committed
make available_date an optional field in the response of get_area_weighted_series_df()
1 parent 57df973 commit c3e9f3c

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

groclient/client.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2033,9 +2033,9 @@ def get_area_weighted_series_df(
20332033
DataFrame
20342034
20352035
Example::
2036-
start_date value end_date available_date region_id item_id metric_id frequency_id unit_id source_id weights
2037-
0 2016-04-26 0.502835 2016-04-26 2016-04-28 1215 321 70029 1 189 112 [{"weight_name": "Corn", "item_id": 274, "metric_id": 2120001, ...}, ...]
2038-
1 2016-04-27 0.509729 2016-04-27 2016-04-29 1215 321 70029 1 189 112 [{"weight_name": "Corn", "item_id": 274, "metric_id": 2120001, ...}, ...]
2036+
start_date value end_date available_date(optional) region_id item_id metric_id frequency_id unit_id source_id weights
2037+
0 2016-04-26 0.502835 2016-04-26 2016-04-28 1215 321 70029 1 189 112 [{"weight_name": "Corn", "item_id": 274, "metric_id": 2120001, ...}, ...]
2038+
1 2016-04-27 0.509729 2016-04-27 2016-04-29 1215 321 70029 1 189 112 [{"weight_name": "Corn", "item_id": 274, "metric_id": 2120001, ...}, ...]
20392039
"""
20402040
return lib.get_area_weighted_series_df(
20412041
self.access_token,

groclient/lib.py

+10-8
Original file line numberDiff line numberDiff line change
@@ -926,6 +926,12 @@ def generate_payload_for_v2_area_weighting(
926926

927927

928928
def format_v2_area_weighting_response(response_content: Dict[str, Any]) -> pd.DataFrame:
929+
DATETIME_COL_MAPPINGS = {
930+
"start_date": "timestamp", # add start_date col which is equivalent to end_date
931+
"end_date": "timestamp",
932+
"available_date": "available_timestamp",
933+
}
934+
929935
try:
930936
data_points = response_content["data_points"]
931937
weighted_series_df = pd.DataFrame(data_points)
@@ -934,14 +940,10 @@ def format_v2_area_weighting_response(response_content: Dict[str, Any]) -> pd.Da
934940
return weighted_series_df
935941

936942
# convert unix timestamps and rename date cols
937-
datetime_col_mappings = {
938-
"start_date": "timestamp", # add start_date col which is equivalent to end_date
939-
"end_date": "timestamp",
940-
"available_date": "available_timestamp",
941-
}
942-
for new_col, col in datetime_col_mappings.items():
943-
weighted_series_df[new_col] = pd.to_datetime(weighted_series_df[col], unit='s').dt.strftime('%Y-%m-%d')
944-
weighted_series_df = weighted_series_df.drop(columns=datetime_col_mappings.values())
943+
for new_col, col in DATETIME_COL_MAPPINGS.items():
944+
if col in weighted_series_df.columns:
945+
weighted_series_df[new_col] = pd.to_datetime(weighted_series_df[col], unit='s').dt.strftime('%Y-%m-%d')
946+
weighted_series_df = weighted_series_df.drop(columns=DATETIME_COL_MAPPINGS.values(), errors="ignore")
945947

946948
# append selected fields of series metadata
947949
for key in ['item_id', 'metric_id', 'frequency_id', 'unit_id', 'source_id']:

0 commit comments

Comments
 (0)