Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
86330dcd53439c6683b5cce1d0afe6d5
mooc-rr
Commits
8fa95d8f
Commit
8fa95d8f
authored
Nov 11, 2024
by
86330dcd53439c6683b5cce1d0afe6d5
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new file
parent
e391755a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
57 additions
and
0 deletions
+57
-0
exercice_python.org
module3/exo3/exercice_python.org
+57
-0
No files found.
module3/exo3/exercice_python.org
0 → 100644
View file @
8fa95d8f
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()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment