import csv from constants import constants from models.base_model import ConstantBaseModel from models.base_model import BaseModel from utils.generators import generate_constants, generate_year_models, generate_dist_models, list_prod f_type = constants.f_type yr_models = generate_year_models(fuel_type=f_type, start_year=constants.start_year, end_year=constants.end_year, path=constants.path) rd_factor = generate_constants(fuel_type=f_type, constant_type=constants.r_factor) print(rd_factor) rd_factor.sort(reverse=True) em_dict = [] if f_type == 'diesel' or 'petrol': for year_row in rd_factor: year_row = list(map(float, year_row)) year = year_row[0] less_than_1300cc = (year_row[1] + year_row[2] + year_row[3] + year_row[4] + year_row[5]) / 5 between_1300cc_and_1900cc = (year_row[6] + year_row[7] + year_row[8] + year_row[10] + year_row[11]) / 6 more_than_1900cc = (year_row[12] + year_row[13] + year_row[14]) / 3 em_dict.append({
import csv from copy import deepcopy from constants import constants from models.base_model import BaseModel, ConstantBaseModel from survival_rate import calc_survival_rate from utils.generators import generate_constants, generate_year_models, list_prod, get_model_by_year from utils.salespercentage import get_sales_percentage header= [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] yr_models_d = generate_year_models(fuel_type=constants.DIESEL, start_year=constants.start_year,end_year=constants.BASE_YEAR+1) yr_models_p = generate_year_models(fuel_type=constants.PETROL, start_year=constants.start_year,end_year=constants.BASE_YEAR+1) baseline_models_d = generate_year_models(fuel_type=constants.DIESEL, start_year=constants.BASE_YEAR,end_year=constants.end_year) baseline_models_p = generate_year_models(fuel_type=constants.PETROL, start_year=constants.BASE_YEAR,end_year=constants.end_year) def add_models(model_a, model_b): comb_model = {} yr =constants.start_year # print(yr) for d_model,p_model in zip(model_a,model_a): both_model = [[d+p for d,p in zip(dies,petr)] for dies, petr in zip(d_model._data, p_model._data)] comb_model[yr] = both_model yr +=1 return comb_model def get_s_rates(latest_year, baseline_models): s_rate_matrix = [] for i in range(len(latest_year.get_counts())-1):