#+TITLE: Autour du SARS-CoV-2 (Covid-19) * Telechargement des donnees Telechargement des données localement si elle n'existent pas deja. Address ou trouver les donnees : #+NAME: url_emacs - https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv Nom du .csv local : #+NAME: csv_file_emacs - data.csv #+begin_src python :results silent :session :export both :var url=url_emacs csv_file=csv_file_emacs import urllib.request from os import path if not path.exists(csv_file[0]): urllib.request.urlretrieve(url[0], csv_file[0]) #+end_src * Traitement des donnees ** Creation de la table de donnees Pays retenus: #+NAME: countries_emacs - Belgium - China - France - Germany - Iran - Italy - Japan - Korea, South - Netherlands - Portugal - Spain - United Kingdom - US Creation de la table de donnees. On retire les colonnes latitute et longitude et on transforme les strings en entiers. #+begin_src python :results silent :session :exports both import pandas as pd df = pd.read_csv("data.csv") df.drop(["Lat", "Long"], axis=1, inplace=True) df.iloc[:, 3:] = data.iloc[:, 3:].apply(pd.to_numeric) #+end_src On cree une nouvelle ligne de donnees regroupant toutes les regions de Chine sauf Hong Kong #+begin_src python :results silent :session :exports both china_regions = df.loc[(df["Country/Region"] == "China") & (df["Province/State"] != "Hong Kong" )] china_regions = china_regions.sum(axis=0) china_regions["Province/State"] = "All but Honk Kong" china_regions["Country/Region"] = "China" #+end_src On retire les donnees non desirees, i.e, les pays n'étant pas dans ceux retenus (definis precedemment), les colonies et les provinces de Chine sauf Hong Kong. #+begin_src python :results silent :session :exports both :var countries=countries_emacs indexNames = df[(~df["Country/Region"].isin(countries)) | ((df["Country/Region"] == "China") & (df["Province/State"] != "Hong Kong")) | ((df["Country/Region"].isin([c for c in countries if c !="China"])) & (~df["Province/State"].isnull())) ].index df.drop(indexNames , inplace=True) #+end_src On remet dans la table de donnees les regions de Chine regroupees (a l'exception d'Hong Kong) #+begin_src python :results silent :session :exports both df = df.append(china_regions, ignore_index=True) #+end_src ** Affichage des donnees (echelle lineaire) Affichage de la table de donnees avec une echelle lineaire Nom du plot lineaire : #+NAME: plot_linear_emacs - plot-linear.png #+begin_src python :results silent :session :export both :var plot_linear=plot_linear_emacs import matplotlib.pyplot as plt for i in range(len(df)): df.iloc[i]["1/22/20":].plot() plt.legend(df["Country/Region"]) plt.yscale("linear") plt.savefig(plot_linear[0]) #+end_src [[file:plot-linear.png]] ** Affichage des donnees (echelle logarithmique) Affichage de la table de donnees avec une echelle logarithmique Nom du plot logarithmique : #+NAME: plot_log_emacs - plot-log.png #+begin_src python :results silent :session :export both :var plot_log=plot_log_emacs plt.yscale("log") plt.savefig(plot_log[0]) #+end_src [[file:plot-log.png]]