<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Observatoire des loyers
Données de l'observatoire des loyers (https
Step1:  Informations utiles sur les données
Step2:  Données par agglomération
Step3:  Paris intra-muros
Step4:  Remarque
Step5:  Région Parisienne
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
#%matplotlib notebook
import matplotlib
matplotlib.rcParams['figure.figsize'] = (9, 9)
import pandas as pd
url = "https://www.data.gouv.fr/fr/datasets/r/1fee314d-c278-424f-a029-a74d877eb185"
df2016 = pd.read_csv(url,
                     encoding='iso-8859-1',
                     sep=';',
                     decimal=',')
url = "https://www.data.gouv.fr/fr/datasets/r/15d902ed-4dc3-457d-9c5d-bfe1151cb573"
df2015 = pd.read_csv(url,
                     encoding='iso-8859-1',
                     sep=';',
                     decimal=',')
url = "https://www.data.gouv.fr/fr/datasets/r/42aaf838-46c9-4434-95a9-00173c6d4627"
df2014 = pd.read_csv(url,
                     encoding='iso-8859-1',
                     sep=';', 
                     decimal=',')
frames = [df2014, df2015, df2016]
df = pd.concat(frames, ignore_index=True)
Explanation: Observatoire des loyers
Données de l'observatoire des loyers (https://www.observatoires-des-loyers.org/):
- source de données utilisée (fichiers CSV en open data): https://www.data.gouv.fr/fr/datasets/resultats-nationaux-des-observatoires-locaux-des-loyers/
- exemple d'utilisation: https://www.miximum.fr/blog/premiers-tests-avec-le-machine-learning/
Remarque
Ce jeu de données a un gros défaut: les statistiques au niveau des communes (ou des arrondissements) sont disponible que sur https://www.observatoires-des-loyers.org/ mais ont été retirées des fichiers CSV...
Récupération des données
End of explanation
df.shape
df.columns
Explanation: Informations utiles sur les données
End of explanation
#df.Observatory.value_counts().plot.barh()
df.agglomeration.value_counts().plot.barh()
Explanation: Données par agglomération
End of explanation
dfp = df[df.agglomeration == "Paris intra-muros"]
fig, (ax1, ax2) = plt.subplots(ncols=2, nrows=1, figsize=(10, 5))
dfp[dfp.Data_year == 2014].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax1)
dfp[dfp.Data_year == 2015].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax2)
#dfp[dfp.Data_year == 2016].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax3)
dfp[dfp.Data_year == 2014].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        s=dfp[dfp.Data_year == 2014].nombre_obsservations,
                                        alpha=0.1)
dfp[dfp.Data_year == 2015].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        #s=dfp[dfp.Data_year == 2015].nombre_obsservations,
                                        #c="blue",
                                        alpha=0.5)
Explanation: Paris intra-muros
End of explanation
dfp = df[df.agglomeration == "Agglomération parisienne"]
fig, (ax1, ax2) = plt.subplots(ncols=2, nrows=1, figsize=(10, 5))
dfp[dfp.Data_year == 2014].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax1)
dfp[dfp.Data_year == 2015].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax2)
dfp[dfp.Data_year == 2014].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        #c=dfp[dfp.Data_year == 2014].nombre_obsservations,
                                        alpha=0.5)
                                        #cmap="Blues")
dfp[dfp.Data_year == 2015].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        #s=dfp[dfp.Data_year == 2015].nombre_obsservations,
                                        #c="blue",
                                        alpha=0.5)
Explanation: Remarque: pourquoi cette grosse différence avec l'année précédente ?
Région Parisienne
End of explanation
dfp = df[df.agglomeration == "Agglomération parisienne (hors Paris)"]
fig, (ax1, ax2) = plt.subplots(ncols=2, nrows=1, figsize=(10, 5))
dfp[dfp.Data_year == 2014].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax1)
dfp[dfp.Data_year == 2015].Type_habitat.value_counts().plot.pie(y="Type_habitat", ax=ax2)
dfp[dfp.Data_year == 2014].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        #c=dfp[dfp.Data_year == 2014].nombre_obsservations,
                                        alpha=0.5)
                                        #cmap="Blues")
dfp[dfp.Data_year == 2015].plot.scatter(x="moyenne_loyer_mensuel",
                                        y="surface_moyenne",
                                        #s=dfp[dfp.Data_year == 2015].nombre_obsservations,
                                        #c="blue",
                                        alpha=0.5)
Explanation: Région Parisienne
End of explanation
<END_TASK>