In [1]:
import pandas as pd
import datetime as dt
import numpy as np

mayors = pd.read_excel("maires-25-04-2014.xlsx", skiprows=3, skipfooter=1)
mayors['Age'] = (dt.datetime.now() - mayors['Date de naissance']) / np.timedelta64(1,'Y')
mayors['Civilité'].replace("Mlle", "F", inplace=True)
mayors['Civilité'].replace("Mme", "F", inplace=True)
mayors = mayors.rename(columns={'Civilité':'Genre'})
In [2]:
mayors.head()
Out[2]:
Code du département (Maire) Libellé de département (Maires) Code Insee de la commune Libellé de la commune Population de la commune Nom de l'élu Prénom de l'élu Genre Date de naissance Code profession Libellé de la profession Age
0 1 AIN 1 L'Abergement-Clémenciat 780 BOULON Daniel M 1951-03-04 61 Retraités salariés privés 67.482612
1 1 AIN 2 L'Abergement-de-Varey 234 ORSET Max M 1947-11-02 65 Autres retraités 70.817383
2 1 AIN 4 Ambérieu-en-Bugey 13839 FABRE Daniel M 1961-09-07 51 Cadres (entreprises publiques) 56.969050
3 1 AIN 5 Ambérieux-en-Dombes 1600 PERNET Pierre M 1961-07-29 42 Professeurs du secondaire et techn. 57.078566
4 1 AIN 6 Ambléon 112 BIONDA Annie F 1951-11-28 63 Retraités fonct.publique (sf enseig.) 66.746115
In [3]:
mayors.Genre.value_counts()
Out[3]:
M    30171
F     5715
Name: Genre, dtype: int64
In [4]:
# cf fichier Nomenclature_des_categories_socioprofessionnelles.pdf

def type_profession(code):
    if code < 5:
        return 'agriculture'    # profession agricole
    elif code < 13:
        return 'industrie/commerce'    # prof. industrielles et commerciales
    elif code < 24:
        return 'privé'    # salariés du privé
    elif code < 40:
        return 'libéral'    # prof. libérales
    elif code < 45:
        return 'enseignement'    # enseignement
    elif code < 50:
        return 'fonctionnaire'    # fonctionnaires
    elif code < 54:
        return 'entrep. publique'    # entreprises publiques
    elif code < 58:
        return 'divers'    # divers
    else:
        return 'retraité'    # retraité
    
mayors['Type profession'] = mayors['Code profession'].apply(type_profession)
In [5]:
writer = pd.ExcelWriter('maires-2014.xlsx')
mayors.to_excel(writer)
writer.save()
In [ ]: