Add new file

parent e391755a
import pandas as pd
import matplotlib.pyplot as plt
# Télécharger les données
url = "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv"
data = pd.read_csv(url)
# Liste des pays à inclure dans le graphe
countries = [
"Belgium", "China", "China, Hong Kong", "France", "Germany", "Iran",
"Italy", "Japan", "Korea, South", "Netherlands", "Portugal",
"Spain", "United Kingdom", "US"
]
# Filtrer les données pour les pays sélectionnés
data_filtered = data[data['Country/Region'].isin(countries)]
# Regrouper les données par pays et additionner les cas pour chaque date
data_grouped = data_filtered.groupby('Country/Region').sum()
# Supprimer les colonnes inutiles
data_grouped = data_grouped.drop(columns=['Lat', 'Long'])
# Transposer le dataframe pour avoir les dates en lignes et les pays en colonnes
data_transposed = data_grouped.T
# Supprimer la première ligne qui contient "Country/Region"
if 'Province/State' in data_transposed.index:
data_transposed = data_transposed.drop('Province/State')
if 'Country/Region' in data_transposed.index:
data_transposed = data_transposed.drop('Country/Region')
# Convertir les index en chaînes de caractères
data_transposed.index = data_transposed.index.astype(str)
# Vérifier et convertir les colonnes en entiers si nécessaire
for country in countries:
if country in data_transposed.columns:
data_transposed[country] = pd.to_numeric(data_transposed[country], errors='coerce').fillna(0).astype(int)
# Créer le graphe avec échelle linéaire
minimiser = 0
plt.figure(figsize=(14, 8))
for country in countries:
if country in data_transposed.columns:
plt.plot(data_transposed.index, data_transposed[country], label=country)
plt.xlabel('Date')
plt.ylabel('Nombre cumulé de cas')
plt.title('Nombre cumulé de cas de COVID-19 au cours du temps')
plt.legend()
plt.xticks(rotation=45, ha='right') # Les étiquettes de l'axe x sont pivotées pour éviter la superposition
plt.grid(True)
plt.tight_layout() # Les sous-parties du graphe sont ajustées automatiquement pour éviter la superposition
plt.show()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment