In [1]:
import pandas as pd
import numpy as np
In [2]:
commune_metropole = pd.read_csv('data/commune_metropole.csv', encoding='utf-8')
In [3]:
commune_metropole.shape
Out[3]:
In [4]:
commune_metropole.head()
Out[4]:
In [5]:
insee = pd.read_csv('data/insee.csv',
sep=";", # séparateur du fichier
dtype={'COM' : np.dtype(str)}, # On force la colonne COM est être en string
encoding='utf-8') # encoding
In [16]:
insee.shape
Out[16]:
In [7]:
insee.info()
In [8]:
insee.head()
Out[8]:
In [12]:
pd.set_option('display.max_columns', 30) # Changer le nombre de colonnnes afficher dans le notebook
In [13]:
insee.head()
Out[13]:
In [14]:
data = insee.merge(commune_metropole, on='COM', how='left')
In [15]:
data.shape
Out[15]:
In [17]:
data.head()
Out[17]:
Il y a bien les colonnes "status", "mean_altitude", "superficie", "is_metropole" et "metropole_name"
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [18]:
# Clefs pour regrouper par ville
key = ['CODGEO',
'LIBGEO',
'COM',
'LIBCOM',
'REG',
'DEP',
'ARR',
'CV',
'ZE2010',
'UU2010',
'TRIRIS',
'REG2016',
'status_rank']
# 'is_metropole']
In [19]:
# Autres valeurs
features = [col for col in data.columns if col not in key]
# Nom des colonnes qui ne sont pas dans les colonnes de key
In [24]:
len(features)
Out[24]:
In [26]:
# On cherche à regrouper nos données sur le nom de la métropole :
# On somme tous nos indicateurs
metropole_sum = data[features][data.is_metropole == 1].groupby('metropole_name').sum().reset_index()
metropole_sum.shape
Out[26]:
In [27]:
metropole_sum
Out[27]:
In [28]:
voiture_colonnes = ['metropole_name' , 'C11_ACTOCC15P_VOIT', 'P11_ACTOCC15P']
In [29]:
voiture = metropole_sum[voiture_colonnes].copy()
voiture
Out[29]:
Il va falloir re-travailler la données pour pouvoir donner le pourcentage de personnes qui prenne la voiture en 2011 / 2012 ainsi qu'avoir la progression
In [30]:
#voiture['pourcentage_car_11'] = (voiture["C11_ACTOCC15P_VOIT"] / voiture["P11_ACTOCC15P"])*100
In [31]:
#voiture
Out[31]:
In [33]:
#voiture['pourcentage_car_12'] = (voiture["C12_ACTOCC15P_VOIT"] / voiture["P12_ACTOCC15P"])*100
#voiture
In [34]:
def augmentation(depart, arrive):
"""
Calcul de l'augmentation entre 2 valeurs :
# ( ( valeur d'arrivée - valeur de départ ) / valeur de départ ) x 100
"""
return ((arrive - depart) / depart) * 100
In [35]:
voiture['augmentation'] = augmentation(voiture['pourcentage_car_11'], voiture['pourcentage_car_12'])
In [36]:
# Les métropole qui utilise le moins la voiture pour aller travailler :
voiture.sort_values('augmentation')
Out[36]:
In [34]:
transp_com_colonnes = ['metropole_name' , 'C11_ACTOCC15P_TCOM', 'P11_ACTOCC15P']
In [35]:
transp_com = metropole_sum[transp_com_colonnes].copy()
transp_com
Out[35]:
In [36]:
#transp_com['pourcentage_trans_com_12'] = (transp_com["C12_ACTOCC15P_TCOM"] / transp_com["P12_ACTOCC15P"])*100
#transp_com
In [38]:
transp_com['pourcentage_trans_com_11'] = (transp_com["C11_ACTOCC15P_TCOM"] / transp_com["P11_ACTOCC15P"])*100
transp_com.sort_values('pourcentage_trans_com_11')
Out[38]:
In [41]:
transp_com['augmentation'] = augmentation(transp_com['pourcentage_trans_com_11'], transp_com['pourcentage_trans_com_12'])
In [43]:
transp_com.sort_values('augmentation')
Out[43]:
In [40]:
transp_velo_colonnes = ['metropole_name' , 'C11_ACTOCC15P_DROU', 'P11_ACTOCC15P']
In [42]:
transp_velo = metropole_sum[transp_velo_colonnes].copy()
transp_velo
Out[42]:
In [43]:
#transp_velo['pourcentage_trans_com_12'] = (transp_velo["C12_ACTOCC15P_TCOM"] / transp_velo["P12_ACTOCC15P"])*100
#transp_velo
In [45]:
transp_velo['pourcentage_trans_com_11'] = (transp_velo["C11_ACTOCC15P_DROU"] / transp_velo["P11_ACTOCC15P"])*100
transp_velo
Out[45]:
In [48]:
data.head()
Out[48]:
In [50]:
bdx = data[data.LIBCOM == "Bordeaux"]
In [54]:
bdx.tail()
Out[54]:
In [55]:
bdx.LIBGEO.unique()
Out[55]:
In [57]:
bdx[bdx.LIBGEO.str.contains("Cauderan")][['P11_POP15P_CELIB', 'P11_F1529', 'P11_H1529', 'P11_POP']].sum()
Out[57]:
In [58]:
bdx[bdx.LIBGEO.str.contains("Chartron")][['P11_POP15P_CELIB', 'P11_F1529', 'P11_H1529', 'P11_POP']].sum()
Out[58]:
In [60]:
bdx[bdx.LIBGEO.str.contains("Capucins-Victoire")][['P11_POP15P_CELIB', 'P11_F1529', 'P11_H1529', 'P11_POP']].sum()
Out[60]:
In [47]:
bdx[bdx.LIBGEO.str.contains("Chartron")][['P11_POP15P_CELIB', 'P12_POP15P_CELIB', 'P12_F1529', 'P12_H1529']].sum()
Out[47]:
In [93]:
commune_metropole.head()
Out[93]:
In [ ]:
In [ ]:
In [ ]:
In [ ]:
In [ ]: