From 57a7edf62511207f7d7af176414b5b269f3b1aa1 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 1 Mar 2024 20:18:44 +0000 Subject: [PATCH] collating results --- .../ha_15_32/ha_analysis_batch_3.py | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/etl/eligibility/ha_15_32/ha_analysis_batch_3.py b/etl/eligibility/ha_15_32/ha_analysis_batch_3.py index ac4d3a0c..7da6bb3a 100644 --- a/etl/eligibility/ha_15_32/ha_analysis_batch_3.py +++ b/etl/eligibility/ha_15_32/ha_analysis_batch_3.py @@ -3035,9 +3035,21 @@ def forecast_remaining_sales(loader): results = pd.DataFrame(results) - # TODO: Add a blank row and then a total row + totals_row = {} + for col in results.columns: + if col == ('', '', '', 'HA Name'): + totals_row[col] = "Total" + elif col == ("ECO4 post-ciga", "", "Delta vs original estimate", ""): + totals_row[col] = results[col].mean() + else: + totals_row[col] = results[col].sum() + + blank_row = pd.DataFrame([{col: "" for col in results.columns}]) assumptions = [ + { + ("", "", "", "HA Name"): "Assumptions", + }, { ("", "", "", "HA Name"): "ECO4 rate", ("", "Original Warmfront estimate", "Total - #", "ECO4 - November"): "£" + str(eco4_rate) @@ -3059,16 +3071,20 @@ def forecast_remaining_sales(loader): ("", "", "", "HA Name"): "Median ECO4 (no CIGA) sales conversion rate", ("ECO4 original", "", "Total - £", ""): str(round(median_eco4_to_install * 100, 1)) + "%", ("ECO4 original", "", "Remaining - £", - ""): " - Sales conversion rate for a ECO4 property that didn't need a CIGA check" + ""): " - Sales conversion rate for a ECO4 property that didn't need a CIGA check. Job must not cancel" }, { ("", "", "", "HA Name"): "Median ECO4 (subect to CIGA) sales conversion rate", ("ECO4 original", "", "Total - £", ""): str(round(median_ciga_pass_to_install * 100, 1)) + "%", ("ECO4 original", "", "Remaining - £", - ""): " - Sales conversion rate for a ECO4 property that passed a CIGA check" + ""): " - Sales conversion rate for a ECO4 property that passed a CIGA check. Job must not cancel" } ] + results = pd.concat( + [results, pd.DataFrame([totals_row]), blank_row, blank_row, pd.DataFrame(assumptions)] + ) + def app(): """