import gradio as gr import pandas as pd import plotly.graph_objects as go df_2019 = pd.read_csv("aggregate_data_2019_weather.csv") df_2020 = pd.read_csv("aggregate_data_2020_weather.csv") df_2021 = pd.read_csv("aggregate_data_2021_weather.csv") df_2022 = pd.read_csv("aggregate_data_2022_weather.csv") def merge_min_max_mean_2022_37027(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(37027)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '37027 Mean cloud cover in 2022', 'windSpeed_mean': '37027 Mean wind speed in 2022', 'snowDepth_mean': '37027 Mean snow depth in 2022','pressure_mean': '37027 Mean pressure in 2022', 'precipitation_mean': '37027 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '37027 Max cloud cover in 2022', 'windSpeed_max': '37027 Max wind speed in 2022', 'snowDepth_max': '37027 Max snow depth in 2022','pressure_max': '37027 Max pressure in 2022', 'precipitation_max': '37027 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '37027 Min cloud cover in 2022', 'windSpeed_min': '37027 Min wind speed in 2022', 'snowDepth_min': '37027 Min snow depth in 2022','pressure_min': '37027 Min pressure in 2022','precipitation_min': '37027 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(37027)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '37027 Mean cloud cover in 2021', 'windSpeed_mean': '37027 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '37027 Max cloud cover in 2021', 'windSpeed_max': '37027 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '37027 Min cloud cover in 2021', 'windSpeed_min': '37027 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(37027)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '37027 Mean cloud cover in 2020', 'windSpeed_mean': '37027 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 37027 Max cloud cover in 2020', 'windSpeed_max': '37027 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '37027 Min cloud cover in 2020', 'windSpeed_min': '37027 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(37027)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '37027 Mean cloud cover in 2019', 'windSpeed_mean': '37027 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '37027 Max cloud cover in 2019', 'windSpeed_max': '37027 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '37027 Min cloud cover in 2019 ', 'windSpeed_min': '37027 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) return(df_merge) def merge_min_max_mean_2022_83707(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(83707)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(83707)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(83707)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(83707)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) df_site_mean_2019 = df_site_mean_2019.replace('37027','83707', regex=True) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "83707") return(df_merge) def merge_min_max_mean_2022_91106(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(91106)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(91106)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(91106)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(91106)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) df_site_mean_2019 = df_site_mean_2019.replace('37027','83707', regex=True) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "91106") df_merge.columns = df_merge.columns.str.replace(r"83707", "91106") return(df_merge) def merge_min_max_mean_2022_91301(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(91301)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(91301)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(91301)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(91301)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) df_site_mean_2019 = df_site_mean_2019.replace('37027','83707', regex=True) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "91301") df_merge.columns = df_merge.columns.str.replace(r"83707", "91301") return(df_merge) def merge_min_max_mean_2022_91710(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(91710)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(91710)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(91710)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(91710)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) df_site_mean_2019 = df_site_mean_2019.replace('37027','83707', regex=True) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "91710") df_merge.columns = df_merge.columns.str.replace(r"83707", "91710") return(df_merge) def merge_min_max_mean_2022_95948(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(95948)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(95948)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(95948)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(95948)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) df_site_mean_2019 = df_site_mean_2019.replace('37027','83707', regex=True) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "95948") df_merge.columns = df_merge.columns.str.replace(r"83707", "95948") return(df_merge) def merge_min_max_mean_2022_95987(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(95987)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(95987)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(95987)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(95987)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "95987") df_merge.columns = df_merge.columns.str.replace(r"83707", "95987") return(df_merge) def merge_min_max_mean_2022_93906(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(93906)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(93906)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(93906)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(93906)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "93906") df_merge.columns = df_merge.columns.str.replace(r"83707", "93906") return(df_merge) def merge_min_max_mean_2022_93711(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(93711)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(93711)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(93711)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(93711)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "93711") df_merge.columns = df_merge.columns.str.replace(r"83707", "93711") return(df_merge) def merge_min_max_mean_2022_93720(df_2022,df_2021,df_2020,df_2019): #2022 df_site_2022 = df_2022.loc[df_2022['zipCode']==(93720)] df_site_2022['year_month']=df_site_2022['year_month'].replace({'2022_1': '1', '2022_2': '2', '2022_3': '3', '2022_4': '4','2022_5': '5', '2022_6': '6', '2022_7': '7', '2022_8': '8','2022_9': '9', '2022_10': '10', '2022_11': '11', '2022_12': '12'}) df_site_2022['year_month'] = df_site_2022['year_month'].astype(int) df_site_2022 = df_site_2022.sort_values("year_month") df_site_2022['year_month']=df_site_2022['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('mean') ]] df_site_year_month = df_site_2022[['year_month','zipCode']] df_site_mean_2022 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2022=df_site_mean_2022.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2022', 'windSpeed_mean': '83707 Mean wind speed in 2022', 'snowDepth_mean': '83707 Mean snow depth in 2022','pressure_mean': '83707 Mean pressure in 2022', 'precipitation_mean': '83707 Mean precipitation in 2022','humidity_mean': '37027 Mean humidity in 2022','airTemperature_mean': '37027 Mean air temperature in 2022'}) #Reseting index df_site_mean_2022=df_site_mean_2022.reset_index() #max df_site_max = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('max') ]] df_site_max_2022 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2022=df_site_max_2022.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2022', 'windSpeed_max': '83707 Max wind speed in 2022', 'snowDepth_max': '83707 Max snow depth in 2022','pressure_max': '83707 Max pressure in 2022', 'precipitation_max': '83707 Max precipitation in 2022','humidity_max': '37027 Max humidity in 2022','airTemperature_max': '37027 Max air temperature in 2022'}) #Reseting index df_site_max_2022=df_site_max_2022.reset_index() #min df_site_min = df_site_2022[df_site_2022.columns[df_site_2022.columns.str.endswith('min') ]] df_site_min_2022 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2022=df_site_min_2022.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2022', 'windSpeed_min': '83707 Min wind speed in 2022', 'snowDepth_min': '83707 Min snow depth in 2022','pressure_min': '83707 Min pressure in 2022','precipitation_min': '83707 Min precipitation in 2022','humidity_min': '37027 Min humidity in 2022','airTemperature_min': '37027 Min air temperature in 2022'}) #Reseting index df_site_min_2022=df_site_min_2022.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2022 = pd.concat([df_site_mean_2022,df_site_max_2022,df_site_min_2022], axis=1) #2021 df_site_2021 = df_2021.loc[df_2021['zipCode']==(93720)] df_site_2021['year_month']=df_site_2021['year_month'].replace({'2021_1': '1', '2021_2': '2', '2021_3': '3', '2021_4': '4','2021_5': '5', '2021_6': '6', '2021_7': '7', '2021_8': '8','2021_9': '9', '2021_10': '10', '2021_11': '11', '2021_12': '12'}) df_site_2021['year_month'] = df_site_2021['year_month'].astype(int) df_site_2021 = df_site_2021.sort_values("year_month") df_site_2021['year_month']=df_site_2021['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('mean') ]] df_site_year_month = df_site_2021[['year_month','zipCode']] df_site_mean_2021 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2021=df_site_mean_2021.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2021', 'windSpeed_mean': '83707 Mean wind speed in 2021', 'snowDepth_mean': '37027 Mean snow depth in 2021','pressure_mean': '37027 Mean pressure in 2021', 'precipitation_mean': '37027 Mean precipitation in 2021','humidity_mean': '37027 Mean humidity in 2021','airTemperature_mean': '37027 Mean air temperature in 2021'}) #Reseting index df_site_mean_2021=df_site_mean_2021.reset_index() #max df_site_max = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('max') ]] df_site_max_2021 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2021=df_site_max_2021.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2021', 'windSpeed_max': '83707 Max wind speed in 2021', 'snowDepth_max': '37027 Max snow depth in 2021','pressure_max': '37027 Max pressure in 2021', 'precipitation_max': '37027 Max precipitation in 2021','humidity_max': '37027 Max humidity in 2021','airTemperature_max': '37027 Max air temperature in 2021'}) #Reseting index df_site_max_2021=df_site_max_2021.reset_index() #min df_site_min = df_site_2021[df_site_2021.columns[df_site_2021.columns.str.endswith('min') ]] df_site_min_2021 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2021=df_site_min_2021.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2021', 'windSpeed_min': '83707 Min wind speed in 2021', 'snowDepth_min': '37027 Min snow depth in 2021','pressure_min': '37027 Min pressure in 2021','precipitation_min': '37027 Min precipitation in 2021','humidity_min': '37027 Min humidity in 2021','airTemperature_min': '37027 Min air temperature in 2021'}) #Reseting index df_site_min_2021=df_site_min_2021.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2021 = pd.concat([df_site_mean_2021,df_site_max_2021,df_site_min_2021], axis=1) #2020 df_site_2020 = df_2020.loc[df_2020['zipCode']==(93720)] df_site_2020['year_month']=df_site_2020['year_month'].replace({'2020_1': '1', '2020_2': '2', '2020_3': '3', '2020_4': '4','2020_5': '5', '2020_6': '6', '2020_7': '7', '2020_8': '8', '2020_9': '9', '2020_10': '10', '2020_11': '11', '2020_12': '12'}) df_site_2020['year_month'] = df_site_2020['year_month'].astype(int) df_site_2020 = df_site_2020.sort_values("year_month") df_site_2020['year_month']=df_site_2020['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('mean') ]] df_site_year_month = df_site_2020[['year_month','zipCode']] df_site_mean_2020 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2020=df_site_mean_2020.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2020', 'windSpeed_mean': '83707 Mean wind speed in 2020', 'snowDepth_mean': '37027 Mean snow depth in 2020','pressure_mean': '37027 Mean pressure in 2020', 'precipitation_mean': '37027 Mean precipitation in 2020','humidity_mean': '37027 Mean humidity in 2020','airTemperature_mean': '37027 Mean air temperature in 2020'}) #Reseting index df_site_mean_2020=df_site_mean_2020.reset_index() #max df_site_max = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('max') ]] df_site_max_2020 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2020=df_site_max_2020.rename(columns={'cloudCover_max': ' 83707 Max cloud cover in 2020', 'windSpeed_max': '83707 Max wind speed in 2020', 'snowDepth_max': '37027 Max snow depth in 2020','pressure_max': '37027 Max pressure in 2020', 'precipitation_max': '37027 Max precipitation in 2020','humidity_max': '37027 Max humidity in 2020','airTemperature_max': '37027 Max air temperature in 2020'}) #Reseting index df_site_max_2020=df_site_max_2020.reset_index() #min df_site_min = df_site_2020[df_site_2020.columns[df_site_2020.columns.str.endswith('min') ]] df_site_min_2020 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2020=df_site_min_2020.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2020', 'windSpeed_min': '83707 Min wind speed in 2020', 'snowDepth_min': '37027 Min snow depth in 2020','pressure_min': '37027 Min pressure in 2020','precipitation_min': '37027 Min precipitation in 2020','humidity_min': '37027 Min humidity in 2020','airTemperature_min': '37027 Min air temperature in 2020'}) #Reseting index df_site_min_2020=df_site_min_2020.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2020 = pd.concat([df_site_mean_2020,df_site_max_2020,df_site_min_2020], axis=1) #2019 df_site_2019 = df_2019.loc[df_2019['zipCode']==(93720)] df_site_2019['year_month']=df_site_2019['year_month'].replace({'2019_1': '1', '2019_2': '2', '2019_3': '3', '2019_4': '4','2019_5': '5', '2019_6': '6', '2019_7': '7', '2019_8': '8', '2019_9': '9', '2019_10': '10', '2019_11': '11', '2019_12': '12'}) df_site_2019['year_month'] = df_site_2019['year_month'].astype(int) df_site_2019 = df_site_2019.sort_values("year_month") df_site_2019['year_month']=df_site_2019['year_month'].replace({1: 'Jan', 2: 'Feb', 3: 'Mar',4: 'Apr',5: 'May', 6: 'June', 7: 'July', 8: 'Aug', 9: 'Sept', 10: 'Oct', 11: 'Nov', 12: 'Dec'}) #mean df_site_mean = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('mean') ]] df_site_year_month = df_site_2019[['year_month','zipCode']] df_site_mean_2019 = pd.concat([df_site_mean,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_mean_2019=df_site_mean_2019.rename(columns={'cloudCover_mean': '83707 Mean cloud cover in 2019', 'windSpeed_mean': '83707 Mean wind speed in 2019', 'snowDepth_mean': '37027 Mean snow depth in 2019','pressure_mean': '37027 Mean pressure in 2019', 'precipitation_mean': '37027 Mean precipitation in 2019','humidity_mean': '37027 Mean humidity in 2019','airTemperature_mean': '37027 Mean air temperature in 2019'}) #Reseting index df_site_mean_2019=df_site_mean_2019.reset_index() #max df_site_max = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('max') ]] df_site_max_2019 = pd.concat([df_site_max,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_max_2019=df_site_max_2019.rename(columns={'cloudCover_max': '83707 Max cloud cover in 2019', 'windSpeed_max': '83707 Max wind speed in 2019', 'snowDepth_max': '37027 Max snow depth in 2019','pressure_max': '37027 Max pressure in 2019', 'precipitation_max': '37027 Max precipitation in 2019','humidity_max': '37027 Max humidity in 2019','airTemperature_max': '37027 Max air temperature in 2019'}) #Reseting index df_site_max_2019=df_site_max_2019.reset_index() #min df_site_min = df_site_2019[df_site_2019.columns[df_site_2019.columns.str.endswith('min') ]] df_site_min_2019 = pd.concat([df_site_min,df_site_year_month],axis = 1) # Renaming columns so that we get weather features with year df_site_min_2019=df_site_min_2019.rename(columns={'cloudCover_min': '83707 Min cloud cover in 2019 ', 'windSpeed_min': '83707 Min wind speed in 2019', 'snowDepth_min': '37027 Min snow depth in 2019','pressure_min': '37027 Min pressure in 2019','precipitation_min': '37027 Min precipitation in 2019','humidity_min': '37027 Min humidity in 2019','airTemperature_min': '37027 Min air temperature in 2019'}) #Reseting index df_site_min_2019=df_site_min_2019.reset_index() #Merging weather features for all three years df_merged_min_max_mean_2019 = pd.concat([df_site_mean_2019,df_site_max_2019,df_site_min_2019], axis=1) df1 = pd.concat([df_merged_min_max_mean_2019,df_merged_min_max_mean_2020],axis = 1) df2 = pd.concat([df_merged_min_max_mean_2021,df_merged_min_max_mean_2022],axis = 1) df_merge = pd.concat([df1,df2],axis = 1) df_merge= df_merge.drop(['index'], axis=1) df_merge = df_merge.loc[:, ~df_merge.columns.duplicated()] df_merge=df_merge.set_index('year_month') df_merge= df_merge.drop(['zipCode'], axis=1) # df_merge = df_merge.replace('37027','83707', regex=True) df_merge.columns = df_merge.columns.str.replace(r"37027", "93720") df_merge.columns = df_merge.columns.str.replace(r"83707", "93720") return(df_merge) df_merge2 = pd.concat([merge_min_max_mean_2022_93720(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_93711(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_93906(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_95987(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_95948(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_91710(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_91106(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_83707(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_91301(df_2022,df_2021,df_2020,df_2019), merge_min_max_mean_2022_37027(df_2022,df_2021,df_2020,df_2019)],axis = 1) def draw_plotly(): #latest # Create figure fig = go.Figure() # Add surface trace for column in df_merge2.columns.to_list(): fig.add_trace( go.Scatter( x = df_merge2.index, y = df_merge2[column], name = column ) ) # Update plot sizing fig.update_layout( width=800, height=900, autosize=False, margin=dict(t=100, b=0, l=0, r=0), ) # Add dropdowns button_layer_1_height = 1.08 fig.update_layout( updatemenus=[ dict( buttons=list([ dict(label = '93720', method = 'restyle', args = [{'visible': [True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False ]}, ]), dict(label = ' 93711', method = 'restyle', args = [{'visible': [ False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False ]}, ]), dict(label = ' 93906 ', method = 'restyle', args = [{'visible': [ False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False ]}, ]), dict(label = '95987', method = 'update', args = [{'visible': [ False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = ' 95948', method = 'update', args = [{'visible': [ False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = ' 91710 ', method = 'update', args = [{'visible': [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = '91106', method = 'update', args = [{'visible': [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = ' 83707', method = 'update', args = [{'visible': [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = ' 91301 ', method = 'update', args = [{'visible': [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, ]}, ]), dict(label = '37027', method = 'update', args = [{'visible': [False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False,False, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, True,True,True,True, True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True,True, ]}, ]), ]), direction="down", pad={"r": 10, "t": 10}, showactive=True, x=0.1, xanchor="right", y=button_layer_1_height, yanchor="top" ), dict( buttons=list([ dict(label = 'Mean', method = 'restyle', args = [{'visible': [ True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False, False,False, False,False ]}, ]), dict(label = ' Max', method = 'update', args = [{'visible': [ False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, False,False,False, False,False, False,False,True, True,True,True,True,True,True,False, False,False, False,False, False,False, ]}, ]), dict(label = ' Min ', method = 'restyle', args = [{'visible': [ False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True, False, False,False, False,False, False,False, False,False, False,False, False,False, False,True, True,True,True,True,True,True ]}, ]), ]), direction="down", pad={"r": 10, "t": 10}, showactive=True, x=0.1, xanchor="left", y=button_layer_1_height, yanchor="top" ), dict( buttons=list([ dict(label = 'Air temperature (deg C)', method = 'restyle', args = [{'visible': [True,False, False,False, False,False, False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, True,False,False, False,False, False,False,True,False, False,False, False,False, False,True,False, False,False, False,False, False, ]}, ]), dict(label = ' Cloud cover (%)', method = 'restyle', args = [{'visible': [False,True, False,False, False,False, False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False,False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False,False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False, False, False,True,False, False,False, False,False,False,True, False,False, False,False, False,False,True, False,False, False,False,False ]}, ]), dict(label = ' Humidity (%) ', method = 'restyle', args = [{'visible': [False,False, True,False, False,False, False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True,False, False,False, False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True,False, False,False, False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True,False, False,False, False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False, False,False, True, False,False, False,False,False,False, True,False, False,False, False,False,False, True,False, False,False, False ]}, ]), dict(label = ' Precipitation (mm)', method = 'restyle', args = [{'visible': [False,False, False, True, False,False, False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True, False,False, False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True, False,False, False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True, False,False, False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False, False,False, False, True,False, False,False,False,False, False, True, False,False, False,False,False, False, True, False,False, False ]}, ]), dict(label = 'Pressure (millibars)', method = 'restyle', args = [{'visible': [False,False, False, False, True,False, False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True,False, False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True,False, False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True,False, False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False, False,False, False, False, True, False,False,False,False, False, False, True,False, False,False,False, False, False, True,False, False ]}, ]), dict(label = 'Snow depth (inches)', method = 'restyle', args = [{'visible': [False,False, False,False, False, True,False ,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, False,False, False, True,False ,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, False,False, False, True,False ,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, False,False, False, True,False ,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False , False,False, True, False,False, True,False,False,False, False,False, False, True,False ,False,False, False,False, False, True,False ]}, ]), dict(label = 'Wind speed (km/h)', method = 'restyle', args = [{'visible': [False,False, False,False, False,False, True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False,False, False,False, True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False,False, False,False, True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False,False, False,False, True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True, False,False, False, False,False, False,True,False,False, False,False, False,False, True,False,False, False,False, False,False, True ]}, ]), ]), direction="down", pad={"r": 10, "t": 10}, showactive=True, x=0.58, xanchor="left", y=button_layer_1_height, yanchor="top" ), ] ) #fig.show() return fig demo = gr.Interface(fn=draw_plotly, inputs=[], outputs=gr.Plot()) demo.launch()