def build_transfers_timeline(df_opt_pre, df_opt_post, p1, p2, p3): df_opt_post.loc[:, 'Date'] = pd.to_datetime(df_opt_post['Date'], format='y%m%d').dt.date timeline_cols = ["Date", "Shortage"] df_opt_pre = df_opt_pre.loc[df_opt_pre.State == 'US'] df_opt_pre = df_opt_pre[timeline_cols] no_model_visual = get_no_model_visual() model_visual = get_model_visual() df_opt_pre.columns = ["Date", no_model_visual["Shortage"]] df_opt_post = df_opt_post.loc[ (df_opt_post.State == 'US') & \ (df_opt_post.Param1==float(p1)) & \ (df_opt_post.Param2==float(p2)) & \ (df_opt_post.Param3==float(p3)) ] df_opt_post = df_opt_post[timeline_cols] df_opt_post.columns = ["Date", model_visual["Shortage"]] df_opt_effect = pd.merge(df_opt_pre, df_opt_post, on='Date', how='inner') return us_timeline(df_opt_effect, "Optimization Effect on Shortage", True)
def build_transfers_timeline(chosen_model, p1, p2, p3): global df_mod1_shortages global df_mod2_shortages global df_mod1_projections global df_mod2_projections if chosen_model == "Washington IHME": df_opt_pre = df_mod1_projections.copy() df_opt_post = df_mod1_shortages.copy() else: df_opt_pre = df_mod2_projections.copy() df_opt_post = df_mod2_shortages.copy() timeline_cols = ["Date", "Shortage"] df_opt_pre = df_opt_pre.loc[df_opt_pre.State == 'US'] df_opt_pre = df_opt_pre[timeline_cols] df_opt_pre.columns = ["Date", no_model_visual["Shortage"]] df_opt_post = df_opt_post.loc[ (df_opt_post.State == 'US') & \ (df_opt_post.Param1==float(p1)) & \ (df_opt_post.Param2==float(p2)) & \ (df_opt_post.Param3==float(p3)) ] df_opt_post = df_opt_post[timeline_cols] df_opt_post.columns = ["Date", model_visual["Shortage"]] df_opt_effect = pd.merge(df_opt_pre, df_opt_post, on='Date', how='inner') return us_timeline(df_opt_effect, "Optimization Effect on Shortage", True)
def build_transfers_timeline(chosen_model,p1,p2,p3): if chosen_model == "Washington IHME": df_opt_pre, _ = get_df_mod1_projections() df_opt_post = pd.read_csv('data/predicted_ventilator/state_supplies_table-ihme.csv', sep=",", parse_dates = ['Date']) else: df_opt_pre = get_df_mod2_projections() df_opt_post = pd.read_csv('data/predicted_ventilator/state_supplies_table-ode.csv', sep=",", parse_dates = ['Date']) df_opt_post.loc[:,'Date'] = pd.to_datetime(df_opt_post['Date'], format='y%m%d').dt.date timeline_cols = ["Date","Shortage"] df_opt_pre = df_opt_pre.loc[df_opt_pre.State == 'US'] df_opt_pre = df_opt_pre[timeline_cols] no_model_visual = get_no_model_visual() model_visual = get_model_visual() df_opt_pre.columns = ["Date",no_model_visual["Shortage"]] df_opt_post = df_opt_post.loc[ (df_opt_post.State == 'US') & \ (df_opt_post.Param1==float(p1)) & \ (df_opt_post.Param2==float(p2)) & \ (df_opt_post.Param3==float(p3)) ] df_opt_post = df_opt_post[timeline_cols] df_opt_post.columns = ["Date",model_visual["Shortage"]] df_opt_effect = pd.merge(df_opt_pre,df_opt_post,on='Date',how='inner') return us_timeline(df_opt_effect,"Optimization Effect on Shortage",True)
def update_shortage_timeline(chosen_model): if chosen_model == "Washington IHME": df_projections_vent_us = df_mod1_projections else: df_projections_vent_us = df_mod2_projections df_projections_vent_us = df_projections_vent_us.loc[df_projections_vent_us.State == 'US'] return us_timeline(df_projections_vent_us, "US Ventilator Supply, Demand, & Shortage", False)
def build_shortage_timeline(chosen_model): global df_mod1_projections global df_mod2_projections if chosen_model == "Washington IHME": df_projections_vent_us = df_mod1_projections.copy() else: df_projections_vent_us = df_mod2_projections.copy() df_projections_vent_us = df_projections_vent_us.loc[df_projections_vent_us.State == 'US'] return us_timeline(df_projections_vent_us, "US Ventilator Supply, Demand, & Shortage", False)