Beispiel #1
0
    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)
Beispiel #2
0
 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']
Beispiel #3
0
 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']
Beispiel #4
0
 def __init__(self, size=1000):
     DataTil.__init__(self)
     self.survey_date = 100*2009 + 1
     self.survey_year = 2009
     self.size = size
     self.name = 'cohort'