Cette statistique montre l'impact de l'épidémie de coronavirus sur le comportement social des Français à partir des données des Google LLC "Google COVID-19 Community Mobility Reports https://www.google.com/covid19/mobility/ 25/05/2020.
Cette fois, nous allons extraire les données du rapport mondial et représenter graphiquement les tendances de chaque secteur pour découvrir des informations intéressantes sur le comportement social et l'évolution de la période de confinement sur le marché.
Deux dates importantes sont mises en Ă©vidence dans les graphiques:
1- En rouge le premier décÚs de COVID19 - 25/02/2020
2- En noir le début des mesures de confinement - 17/03/2020
3- En vert le début du déconfinemen - 11/05/2020
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
#URL="https://www.gstatic.com/covid19/mobility/Global_Mobility_Report.csv"
#df=pd.read_csv(URL, low_memory=False)
df=pd.read_csv('Global_Mobility_Report.csv', low_memory=False)
df=df[df.country_region_code=='FR']
df['date'] = pd.to_datetime(df['date'])
df.set_index(pd.DatetimeIndex(df['date']), inplace=True)
df.head()
df.shape
df.info()
df.isnull().sum()
df.drop('sub_region_2',1,inplace=True)
null_columns=df.columns[df.isnull().any()]
print(df[df.isnull().any(axis=1)][null_columns].head(63)) #The null values
list(df)
df.rename(columns={'sub_region_1': 'Province',
'retail_and_recreation_percent_change_from_baseline': 'Retail_and_Recreation',
'grocery_and_pharmacy_percent_change_from_baseline':'Grocery_and_Pharmacy',
'parks_percent_change_from_baseline':'Parks',
'transit_stations_percent_change_from_baseline': 'Transit_Stations',
'workplaces_percent_change_from_baseline':'Workplaces',
'residential_percent_change_from_baseline': 'Residences',
'date':'Date'},inplace=True)
df=df[['Date',
'Province',
'Retail_and_Recreation',
'Grocery_and_Pharmacy',
'Parks',
'Transit_Stations',
'Workplaces',
'Residences']]
df.Province=df.Province.replace(np.nan, 'France (General)')
df.Province.value_counts()
df.tail()
df.describe()
df_FR=df[df.Province=='France (General)']
df_FR.describe()
Nous allons maintenant découvrir la mobilité des utilisateurs en fonction des lieux qu'ils ont visités pour elle, nous allons la classer par secteurs et la représenter graphiquement au cours de l'évolution de la période de confinement
Tendances de mobilité pour des endroits comme les restaurants, les cafés, les centres commerciaux, les parcs à thÚme, les musées, les bibliothÚques et les cinémas.
df_FR['Retail_and_Recreation'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
RR=sns.lineplot(x="Date", y="Retail_and_Recreation", hue='Province', data=df)
sns.set(style="whitegrid")
RR.axes.set_title("Commerce de détail et les loisirs",fontsize=20)
RR.set_xlabel("Date",fontsize=15)
RR.set_ylabel("Commerce de détail et les loisirs: changement de mobilité",fontsize=15)
RR.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(RR.get_legend().get_texts(), fontsize='15')
plt.setp(RR.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
Tendances de mobilité pour des endroits comme les marchés d'épicerie, les entrepÎts alimentaires, les marchés de producteurs, les magasins d'alimentation spécialisés, les pharmacies et les pharmacies.
df_FR['Grocery_and_Pharmacy'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
RR=sns.lineplot(x="Date", y="Grocery_and_Pharmacy", hue='Province', data=df)
sns.set(style="whitegrid")
RR.axes.set_title("Ăpiceries et pharmacies",fontsize=20)
RR.set_xlabel("Date",fontsize=15)
RR.set_ylabel("Ăpiceries et pharmacies: changement de mobilitĂ©",fontsize=15)
RR.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(RR.get_legend().get_texts(), fontsize='15')
plt.setp(RR.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
Tendances de mobilité pour des endroits comme les parcs locaux, les parcs nationaux, les plages publiques, les marinas, les parcs à chiens, les places et les jardins publics.
df_FR['Parks'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
P=sns.lineplot(x="Date", y="Parks", hue='Province', data=df)
sns.set(style="whitegrid")
P.axes.set_title("Parcs",fontsize=20)
P.set_xlabel("Date",fontsize=15)
P.set_ylabel("Parcs: changement de mobilité",fontsize=15)
P.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(P.get_legend().get_texts(), fontsize='15')
plt.setp(P.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
Tendances de mobilité pour des endroits comme les plaques tournantes des transports publics tels que les stations de métro, de bus et de train.
df_FR['Transit_Stations'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
T=sns.lineplot(x="Date", y="Transit_Stations", hue='Province', data=df)
sns.set(style="whitegrid")
T.axes.set_title("Stations de transport",fontsize=20)
T.set_xlabel("Date",fontsize=15)
T.set_ylabel("Parcs: changement de mobilité",fontsize=15)
T.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(T.get_legend().get_texts(), fontsize='15')
plt.setp(T.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
Tendance de la mobilité pour les lieux de travail
df_FR['Workplaces'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
W=sns.lineplot(x="Date", y="Workplaces", hue='Province', data=df)
sns.set(style="whitegrid")
W.axes.set_title("Lieux de travail",fontsize=20)
W.set_xlabel("Date",fontsize=15)
W.set_ylabel("Lieux de travail: changement de mobilité",fontsize=15)
W.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(W.get_legend().get_texts(), fontsize='15')
plt.setp(W.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
Tendances de mobilité pour les lieux de résidence.
df_FR['Residences'].plot(figsize=(15,6))
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')
plt.figure(figsize=(20,15))
R=sns.lineplot(x="Date", y="Residences", hue='Province', data=df)
sns.set(style="whitegrid")
R.axes.set_title("RĂ©sidences",fontsize=20)
R.set_xlabel("Date",fontsize=15)
R.set_ylabel("Résidences: changement de mobilité",fontsize=15)
R.tick_params(labelsize=12)
plt.xticks(rotation=85)
plt.setp(R.get_legend().get_texts(), fontsize='15')
plt.setp(R.get_legend().get_title(), fontsize='15')
plt.axvline(pd.Timestamp('2020-03-17'), color='black')
plt.axvline(pd.Timestamp('2020-02-25'), color='red')
plt.axvline(pd.Timestamp('2020-05-11'), color='green')