def drop_variable(self, dict_to_drop=None, option='white'): ''' - Si on dict_to_drop is not None, il doit avoir la forme table: [liste de variables], on retire alors les variable de la liste de la table nommée. - Sinon, on se sert de cette méthode pour faire la première épuration des données, on a deux options: - passer par la liste blanche ce que l'on recommande pour l'instant - passer par liste noire. ''' men = self.men ind = self.ind if dict_to_drop is None: dict_to_drop = {} # travail sur men all = men.columns.tolist() #liste noire pr_or_cj = [x for x in all if (x[-2:] == 'pr' or x[-2:] == 'cj') and x not in ['indepr', 'r_dcpr', 'r_detpr']] detention = [x for x in all if len(x) == 6 and x[0] == 'p' and x[1] in ['0', '1']] diplom = [x for x in all if x[:6] == 'diplom'] partner_died = [x for x in all if x[:2] == 'cj'] even_rev = [x for x in all if x[:3] == 'eve'] black_list = pr_or_cj + detention + diplom + partner_died +even_rev #+ enfants_hdom # liste blanche var_to_declar = ['zcsgcrds', 'zfoncier', 'zimpot', 'zpenaliv', 'zpenalir', 'zpsocm', 'zrevfin'] var_apjf = ['asf', 'allocpar', 'complfam', 'paje'] enfants_hdom = [x for x in all if x[:3] == 'hod'] white_list = ['id', 'identmen', 'pond', 'period'] + var_apjf + enfants_hdom + var_to_declar if option == 'white': dict_to_drop['men'] = [x for x in all if x not in white_list] else: dict_to_drop['men'] = black_list # travail sur ind all = ind.columns.tolist() # liste noire parent_prop = [x for x in all if x[:6] == 'jepro_'] jeunesse_grave = [x for x in all if x[:6] == 'jepro_'] jeunesse = [x for x in all if x[:7] == 'jegrave'] black_list = jeunesse_grave + parent_prop + diplom # liste blanche info_pers = ['anais', 'mnais', 'sexe', 'dip14', 'agem', 'findet', 'tauxprime'] famille = ['couple', 'lienpref', 'enf', 'civilstate', 'pacs', 'grandpar', 'per1e', 'mer1e', 'enfant'] jobmarket = ['statut', 'situa', 'workstate', 'preret', 'classif', 'cs42'] info_parent = ['jepnais', 'jemnais', 'jemprof'] carriere = [x for x in all if x[:2] == 'cy' and x not in ['cyder', 'cysubj']] + \ ['jeactif', 'anfinetu', 'prodep'] revenus = ["zsalaires_i", "zchomage_i", "zpenalir_i", "zretraites_i", "cyder", "duree"] white_list = ['identmen', 'men', 'noi', 'pond', 'id', 'identind', 'period'] + info_pers + famille + \ jobmarket + carriere + info_parent + revenus if option == 'white': dict_to_drop['ind'] = [x for x in all if x not in white_list] else: dict_to_drop['ind'] = black_list DataTil.drop_variable(self, dict_to_drop, option)
def __init__(self): DataTil.__init__(self) self.name = 'Destinie' self.survey_year = 2009 self.last_year = 2060 self.survey_date = 100*self.survey_year + 1 # TODO: Faire une fonction qui check où on en est, si les précédent on bien été fait, etc. # TODO: Dans la même veine, on devrait définir la suppression des variables en fonction des étapes à venir. self.methods_order = ['load', 'format_initial', 'enf_to_par', 'check_partneroint', 'creation_menage', 'creation_foy', 'var_sup', 'add_futur', 'store_to_liam']
def __init__(self): DataTil.__init__(self) self.name = 'Patrimoine' self.survey_year = 2009 self.last_year = 2009 self.survey_date = 100*self.survey_year + 1 #TODO: Faire une fonction qui check où on en est, si les précédent on bien été fait, etc. #TODO: Dans la même veine, on devrait définir la suppression des variables en fonction des étapes à venir. self.methods_order = ['load','correction_initial','drop_variable','format_initial','conjoint','enfants', 'expand_data','creation_child_out_of_house','matching_par_enf','matching_couple_hdom', 'creation_foy','mise_au_format','var_sup','store_to_liam']
def __init__(self, size=1000): DataTil.__init__(self) self.survey_date = 100*2009 + 1 self.survey_year = 2009 self.size = size self.name = 'cohort'