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({
Ejemplo n.º 2
0
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):