Introduction
Dans ce projet, vous allez apprendre à analyser les données COVID-19 à l'aide de Python. La pandémie de COVID-19 a eu un impact considérable sur le monde, et la compréhension des données est cruciale pour suivre la propagation du virus et prendre des décisions éclairées.
👀 Aperçu
{
"Confirmed": {
"Africa": 1203094,
"America": 6396173,
"Asia": 6480321,
"Europe": 3450299,
"Oceania": 27346,
"Others": 721,
"Total": 17557954
},
"Deaths": {
"Africa": 28289,
"America": 254610,
"Asia": 133186,
"Europe": 206438,
"Oceania": 576,
"Others": 15,
"Total": 623114
},
"Recovered": {
"Africa": 930536,
"America": 5087347,
"Asia": 5163062,
"Europe": 1927545,
"Oceania": 21892,
"Others": 651,
"Total": 13131033
},
"Active": {
"Africa": 244269,
"America": 1054216,
"Asia": 1184073,
"Europe": 1316316,
"Oceania": 4878,
"Others": 55,
"Total": 3803807
}
}
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment configurer l'environnement de développement et installer les bibliothèques Python requises
- Comment comprendre la structure et le contenu des données COVID-19
- Comment implémenter une fonction pour convertir les noms de pays en noms de continents
- Comment traiter les données COVID-19 et calculer les statistiques récapitulatives pour chaque continent
- Comment tester le code et vérifier la sortie
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre comment travailler avec les données CSV en Python
- Implémenter des fonctions pour traiter et analyser les données
- Convertir les données entre différents formats (par exemple, CSV en JSON)
- Gagner de l'expérience dans l'analyse et la visualisation de données
- Contribuer à la compréhension de la pandémie de COVID-19 grâce à des analyses basées sur les données
Préparer l'environnement
Dans cette étape, vous allez apprendre à configurer l'environnement pour le projet d'analyse des données COVID-19.
- Ouvrez le terminal et accédez au répertoire
/home/labex/project. - Installez les bibliothèques Python requises en exécutant la commande suivante :
python3 -m pip install pandas country-converter
Cela installera les bibliothèques pandas et country-converter, qui sont nécessaires pour le projet.
Comprendre les données
Les données COVID-19 sont fournies dans un fichier CSV situé dans le répertoire /home/labex/project. Le fichier contient les colonnes suivantes :
Country_Region: Le nom du pays ou de la région.Confirmed: Le nombre total de cas de COVID-19 confirmés.Deaths: Le nombre total de décès dus à COVID-19.Recovered: Le nombre total de guérisons de COVID-19.Active: Le nombre total de cas actifs de COVID-19.
Votre tâche consiste à traiter ces données et à calculer les statistiques récapitulatives pour chaque continent.
Implémenter la fonction country_to_continent
La première étape consiste à créer une fonction qui peut convertir un nom de pays en son nom de continent correspondant. Créez un nouveau fichier nommé covid.py dans le répertoire /home/labex/project et ajoutez le code suivant :
import country_converter as coco
def country_to_continent(country_name):
"""Cette fonction prend un nom de pays et renvoie le nom du continent."""
try:
## Convertir le nom de pays en nom de continent
if country_name == "Diamond Princess" ou country_name == "MS Zaandam":
return "Autres"
country_continent_name = coco.convert(names=country_name, to="continent")
## Si le nom de pays n'est pas trouvé, renvoyer 'Autres'
if country_continent_name == "not found":
return "Autres"
return country_continent_name
except:
return "Autres"
Cette fonction utilise la bibliothèque country-converter pour convertir un nom de pays en son nom de continent correspondant. Si le nom de pays n'est pas trouvé, elle renvoie "Autres".
Implémenter la fonction count
Ensuite, vous devez implémenter la fonction count, qui traitera les données COVID-19 et renverra les statistiques récapitulatives pour chaque continent. Ajoutez le code suivant au fichier covid.py :
import json
import pandas as pd
def count(data):
"""Cette fonction prend un chemin de fichier et renvoie le nombre total de
cas confirmés, décédés, guéris et actifs pour chaque continent."""
## Lire les données à partir du fichier
df = pd.read_csv(data)
## Remplir les valeurs manquantes avec 0
df.fillna(0, inplace=True)
## Supprimer les lignes avec des valeurs manquantes
df = df[df["Confirmed"] == df["Deaths"] + df["Recovered"] + df["Active"]]
## Convertir le nom de pays en nom de continent
df["Continent"] = df["Country_Region"].apply(country_to_continent)
## Convertir le type de données en entier
df[["Confirmed", "Deaths", "Recovered", "Active"]] = df[
["Confirmed", "Deaths", "Recovered", "Active"]
].astype(int)
## Sélectionner les colonnes d'intérêt et les convertir en dictionnaire
df = df[["Continent", "Confirmed", "Deaths", "Recovered", "Active"]]
result = df.groupby("Continent").sum().to_dict()
## Ajouter le total pour chaque continent
pour chaque clé dans les clés de résultat :
result[key]["Total"] = sum(result[key].values())
return json.dumps(result)
Cette fonction lit les données COVID-19 à partir du fichier CSV, traite les données et renvoie les statistiques récapitulatives pour chaque continent au format JSON.
Tester le code
Pour tester le code, vous pouvez exécuter la commande suivante dans le terminal :
python3 covid.py
Cela exécutera la fonction count et imprimera les données JSON résultantes dans la console.
Vérifier la sortie
La sortie de la fonction count devrait être une chaîne JSON qui ressemble à ceci :
{
"Confirmed": {
"Africa": 1203094,
"America": 6396173,
"Asia": 6480321,
"Europe": 3450299,
"Oceania": 27346,
"Others": 721,
"Total": 17557954
},
"Deaths": {
"Africa": 28289,
"America": 254610,
"Asia": 133186,
"Europe": 206438,
"Oceania": 576,
"Others": 15,
"Total": 623114
},
"Recovered": {
"Africa": 930536,
"America": 5087347,
"Asia": 5163062,
"Europe": 1927545,
"Oceania": 21892,
"Others": 651,
"Total": 13131033
},
"Active": {
"Africa": 244269,
"America": 1054216,
"Asia": 1184073,
"Europe": 1316316,
"Oceania": 4878,
"Others": 55,
"Total": 3803807
}
}
Cette sortie représente les statistiques récapitulatives pour chaque continent, y compris le nombre total de cas confirmés, de décès, de guérisons et de cas actifs.
Félicitations ! Vous avez terminé le projet d'analyse des données COVID-19. Si vous avez des questions ou des problèmes, n'hésitez pas à demander.
Résumé
Félicitations ! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



