COVID-19-Datenanalyse mit Python

PythonBeginner
Jetzt üben

Einführung

In diesem Projekt lernst du, wie du COVID-19-Daten mit Python analysierst. Die COVID-19-Pandemie hat einen erheblichen Einfluss auf die Welt genommen, und das Verständnis der Daten ist entscheidend für das Verfolgen der Ausbreitung des Virus und das Treffen informierter Entscheidungen.

👀 Vorschau

{
  "Bestätigt": {
    "Afrika": 1203094,
    "Amerika": 6396173,
    "Asien": 6480321,
    "Europa": 3450299,
    "Ozeanien": 27346,
    "Sonstige": 721,
    "Gesamt": 17557954
  },
  "Todesfälle": {
    "Afrika": 28289,
    "Amerika": 254610,
    "Asien": 133186,
    "Europa": 206438,
    "Ozeanien": 576,
    "Sonstige": 15,
    "Gesamt": 623114
  },
  "Genesen": {
    "Afrika": 930536,
    "Amerika": 5087347,
    "Asien": 5163062,
    "Europa": 1927545,
    "Ozeanien": 21892,
    "Sonstige": 651,
    "Gesamt": 13131033
  },
  "Aktiv": {
    "Afrika": 244269,
    "Amerika": 1054216,
    "Asien": 1184073,
    "Europa": 1316316,
    "Ozeanien": 4878,
    "Sonstige": 55,
    "Gesamt": 3803807
  }
}

🎯 Aufgaben

In diesem Projekt wirst du lernen:

  • Wie du die Entwicklungsumgebung einrichtest und die erforderlichen Python-Bibliotheken installierst
  • Wie du die Struktur und den Inhalt der COVID-19-Daten verstehst
  • Wie du eine Funktion implementierst, um Länder-Namen in Kontinent-Namen umzuwandeln
  • Wie du die COVID-19-Daten verarbeitest und die Summenstatistiken für jeden Kontinent berechnest
  • Wie du den Code testest und die Ausgabe verifizierst

🏆 Errungenschaften

Nach Abschluss dieses Projekts wirst du in der Lage sein:

  • Zu verstehen, wie du mit CSV-Daten in Python umgehst
  • Funktionen zur Datenverarbeitung und -analyse zu implementieren
  • Daten zwischen verschiedenen Formaten (z.B. CSV in JSON) umzuwandeln
  • Erfahrungen in der Datenanalyse und -visualisierung zu sammeln
  • Durch datengetriebene Erkenntnisse zum Verständnis der COVID-19-Pandemie beizutragen

Bereite die Umgebung vor

In diesem Schritt lernst du, wie du die Umgebung für das COVID-19-Datenanalyseprojekt einrichtest.

  1. Öffne das Terminal und navigiere zum Verzeichnis /home/labex/project.
  2. Installiere die erforderlichen Python-Bibliotheken, indem du folgenden Befehl ausführst:
python3 -m pip install pandas country-converter

Dies installiert die Bibliotheken pandas und country-converter, die für das Projekt benötigt werden.

✨ Lösung prüfen und üben

Verstehe die Daten

Die COVID-19-Daten werden in einer CSV-Datei im Verzeichnis /home/labex/project bereitgestellt. Die Datei enthält die folgenden Spalten:

  • Country_Region: Der Name des Landes oder der Region.
  • Bestätigt: Die Gesamtzahl der bestätigten COVID-19-Fälle.
  • Todesfälle: Die Gesamtzahl der COVID-19-Todesfälle.
  • Genesen: Die Gesamtzahl der COVID-19-Erholungen.
  • Aktiv: Die Gesamtzahl der aktiven COVID-19-Fälle.

Deine Aufgabe besteht darin, diese Daten zu verarbeiten und die Summenstatistiken für jeden Kontinent zu berechnen.

✨ Lösung prüfen und üben

Implementiere die country_to_continent - Funktion

Der erste Schritt besteht darin, eine Funktion zu erstellen, die einen Länder-Namen in den entsprechenden Kontinent-Namen umwandeln kann. Erstelle in das Verzeichnis /home/labex/project eine neue Datei namens covid.py und füge den folgenden Code hinzu:

import country_converter as coco

def country_to_continent(country_name):
    """Diese Funktion nimmt einen Länder-Namen entgegen und gibt den Kontinent-Namen zurück."""
    try:
        ## Konvertiere Länder-Namen in Kontinent-Namen
        if country_name == "Diamond Princess" oder country_name == "MS Zaandam":
            return "Sonstige"
        country_continent_name = coco.convert(names=country_name, to="continent")
        ## Wenn der Länder-Namen nicht gefunden wird, gebe 'Sonstige' zurück
        if country_continent_name == "not found":
            return "Sonstige"
        return country_continent_name
    except:
        return "Sonstige"

Diese Funktion verwendet die Bibliothek country-converter, um einen Länder-Namen in den entsprechenden Kontinent-Namen umzuwandeln. Wenn der Länder-Namen nicht gefunden wird, gibt sie "Sonstige" zurück.

✨ Lösung prüfen und üben

Implementiere die count - Funktion

Als nächstes musst du die count-Funktion implementieren, die die COVID-19-Daten verarbeiten und die Summenstatistiken für jeden Kontinent zurückgeben wird. Füge den folgenden Code zur covid.py-Datei hinzu:

import json
import pandas as pd

def count(data):
    """Diese Funktion nimmt einen Dateipfad entgegen und gibt die Gesamtzahl der
    bestätigten, verstorbenen, genesenen und aktiven Fälle für jeden Kontinent zurück."""
    ## Lies die Daten aus der Datei
    df = pd.read_csv(data)
    ## Fülle fehlende Werte mit 0
    df.fillna(0, inplace=True)
    ## Entferne Zeilen mit fehlenden Werten
    df = df[df["Bestätigt"] == df["Todesfälle"] + df["Genesen"] + df["Aktiv"]]
    ## Konvertiere Länder-Namen in Kontinent-Namen
    df["Kontinent"] = df["Country_Region"].apply(country_to_continent)
    ## Konvertiere Datentyp in int
    df[["Bestätigt", "Todesfälle", "Genesen", "Aktiv"]] = df[
        ["Bestätigt", "Todesfälle", "Genesen", "Aktiv"]
    ].astype(int)
    ## Wähle die interessierenden Spalten und verwandle sie in ein Dictionary
    df = df[["Kontinent", "Bestätigt", "Todesfälle", "Genesen", "Aktiv"]]
    result = df.groupby("Kontinent").sum().to_dict()
    ## Füge die Summe für jeden Kontinent hinzu
    for key in result.keys():
        result[key]["Gesamt"] = sum(result[key].values())
    return json.dumps(result)

Diese Funktion liest die COVID-19-Daten aus der CSV-Datei, verarbeitet die Daten und gibt die Summenstatistiken für jeden Kontinent im JSON-Format zurück.

✨ Lösung prüfen und üben

Teste den Code

Um den Code zu testen, kannst du folgenden Befehl im Terminal ausführen:

python3 covid.py

Dies führt die count-Funktion aus und druckt die resultierenden JSON-Daten in die Konsole.

✨ Lösung prüfen und üben

Verifiziere die Ausgabe

Die Ausgabe der count-Funktion sollte ein JSON-String sein, der ähnlich dem folgenden aussieht:

{
  "Bestätigt": {
    "Afrika": 1203094,
    "Amerika": 6396173,
    "Asien": 6480321,
    "Europa": 3450299,
    "Ozeanien": 27346,
    "Sonstige": 721,
    "Gesamt": 17557954
  },
  "Todesfälle": {
    "Afrika": 28289,
    "Amerika": 254610,
    "Asien": 133186,
    "Europa": 206438,
    "Ozeanien": 576,
    "Sonstige": 15,
    "Gesamt": 623114
  },
  "Genesen": {
    "Afrika": 930536,
    "Amerika": 5087347,
    "Asien": 5163062,
    "Europa": 1927545,
    "Ozeanien": 21892,
    "Sonstige": 651,
    "Gesamt": 13131033
  },
  "Aktiv": {
    "Afrika": 244269,
    "Amerika": 1054216,
    "Asien": 1184073,
    "Europa": 1316316,
    "Ozeanien": 4878,
    "Sonstige": 55,
    "Gesamt": 3803807
  }
}

Diese Ausgabe repräsentiert die Summenstatistiken für jeden Kontinent, einschließlich der Gesamtzahl der bestätigten Fälle, Todesfälle, Genesenen und aktiven Fälle.

Herzlichen Glückwunsch! Du hast das COVID-19-Datenanalyse-Projekt abgeschlossen. Wenn du Fragen oder Probleme hast, kannst du gerne fragen.

✨ Lösung prüfen und üben

Zusammenfassung

Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.