Inhaltsverzeichnis:

COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow
COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow

Video: COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow

Video: COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow
Video: Covid-19 Data Analysis Project Using Python And Tableau | Covid Data Analysis Tutorial | Simplilearn 2024, November
Anonim
COVID19-Dashboard auf Weltkarte (mit Python)
COVID19-Dashboard auf Weltkarte (mit Python)

Ich weiß, dass fast alle von uns die meisten Informationen über COVID19 kennen.

Und in diesem anweisbaren geht es darum, eine Blasenkarte zu erstellen, um die Echtzeitdaten (von Fällen) auf der Weltkarte zu zeichnen.

Der Einfachheit halber habe ich das Programm zum Github-Repository hinzugefügt:

github.com/backshell/COVID19dashboard

Lieferungen

Es ist kein Verbrauchsmaterial als solches erforderlich und wir würden das gesamte Computerprogramm über GoogleColab Notebook ausführen. Ein Gmail-Konto sollte also für den Anfang ausreichen.

Colab Notebooks / Colaboratory ist ein Google-Forschungsprojekt, das zur Verbreitung von Bildung und Forschung zum Thema maschinelles Lernen entwickelt wurde. Es handelt sich um eine Jupyter-Notebook-Umgebung, die keine Einrichtung erfordert und vollständig in der Cloud ausgeführt wird.

Und KEINE Installation in Ihrer Maschine erforderlich.

Schritt 1: Verständnis des Backend-Prozesses (Datenbank)

Die meisten Softwareprogramme holen Daten vom Backend ab und das Ergebnis wird formatiert und im Frontend veröffentlicht. Und für dieses spezielle Programm würden wir echte COVID19-Daten benötigen.

Das G. W. C. Die Whiting School of Engineering hat die COVID19-Statistiken über ihren Github-Account veröffentlicht:

github.com/CSSEGISandData

Vom Start bis zum Datum werden die länderbezogenen COVID19-Statistiken im Repository veröffentlicht.

Wir würden also die. CSV-formatierten Dateien davon verwenden (nach Ländern segmentiert) und die Daten auf der Weltkarte darstellen.

Schritt 2: Im Programm verwendete Python-Pakete/-Bibliotheken

Unten finden Sie die Liste der Python-Pakete und -Bibliotheken, die wir verwenden würden. Lassen Sie mich einen Überblick über den Zweck jeder von ihnen geben.

stumpf:

NumPy ist eine Bibliothek für die Programmiersprache Python, die Unterstützung für große, mehrdimensionale Arrays und Matrizen sowie eine große Sammlung mathematischer Funktionen auf hoher Ebene für die Verarbeitung dieser Arrays bietet.

Pandas:

pandas ist eine Softwarebibliothek, die für die Programmiersprache Python zur Datenmanipulation und -analyse geschrieben wurde.

matplotlib.pyplot:

pyplot ist hauptsächlich für interaktive Plots und einfache Fälle der programmatischen Plotgenerierung gedacht

plotly.express:

Plotly Express ist eine neue High-Level-Python-Visualisierungsbibliothek. Einfache Syntax für komplexe Diagramme.

Folierung:

folium macht es einfach, in Python manipulierte Daten auf einer interaktiven Broschürenkarte zu visualisieren.

plotly.graph_objects:

Das plotly Python-Paket existiert, um grafische Figuren (d. h. Diagramme, Diagramme, Karten und Diagramme) zu erstellen, zu bearbeiten und zu rendern, die durch Datenstrukturen dargestellt werden, die auch als Figuren bezeichnet werden.

Seegeboren:

Seaborn ist eine Python-Datenvisualisierungsbibliothek basierend auf Matplotlib. Es bietet eine High-Level-Schnittstelle zum Zeichnen attraktiver und informativer statistischer Grafiken.

ipywidgets:

ipywidgets sind interaktive HTML-Widgets für Jupyter-Notebooks, JupyterLab und den IPython-Kernel. Notizbücher werden lebendig, wenn interaktive Widgets verwendet werden.

Die Installation dieser Pakete ist nicht erforderlich, da wir dieses Programm vollständig in Google Colab Notebook arbeiten würden (lassen Sie es in dieser Anleitung als Colab behalten).

Schritt 3: Einrichten Ihres Laufwerks, um Colab zu verwenden

Einrichten Ihres Laufwerks zur Verwendung von Colab
Einrichten Ihres Laufwerks zur Verwendung von Colab
Einrichten Ihres Laufwerks zur Verwendung von Colab
Einrichten Ihres Laufwerks zur Verwendung von Colab

Erstellen Sie in Ihrem Drive einen Ordner für Ihre Notizbücher.

Technisch gesehen ist dieser Schritt nicht unbedingt erforderlich, wenn Sie einfach in Colab arbeiten möchten. Da Colab jedoch von Ihrem Laufwerk aus arbeitet, ist es keine schlechte Idee, den Ordner anzugeben, in dem Sie arbeiten möchten. Sie können dies tun, indem Sie zu Ihrem Google Drive gehen und auf "Neu" klicken und dann einen neuen Ordner erstellen.

Dann können Sie wählen, ob Sie hier ein colabnotebook erstellen oder direkt mit der Arbeit in colab beginnen und den Ordner im Laufwerk verknüpfen, der für die Colab-Arbeit erstellt wurde.

Dies ist eine gute Vorgehensweise, sonst kann die von uns erstellte Colab in unserem Laufwerk unordentlich aussehen.

Schritt 4: Überblick über das Programm

In diesem Programm/Notebook würden wir Folgendes für COVID-19 erstellen:

  • Liste der Länder nach Anzahl der Fälle
  • Gesamtzahl der Fälle auf einer Weltkarte

Schritt 5: COVID-19-Dashboard | Teil 1

COVID-19-Dashboard | Teil 1
COVID-19-Dashboard | Teil 1

Sie können future nutzen, um Ihren Code noch heute von Python 2 auf Python 3 zu portieren – und ihn trotzdem auf Python 2 laufen lassen.

Wenn Sie bereits über Python 3-Code verfügen, können Sie stattdessen mit future die Kompatibilität mit Python 2 fast ohne zusätzlichen Aufwand anbieten.

future unterstützt die Standardbibliotheksreorganisation (PEP 3108) über einen von mehreren Mechanismen, wodurch auf die meisten verschobenen Standardbibliotheksmodule unter ihren Python 3-Namen und -Speicherorten in Python 2 zugegriffen werden kann.

Schritt 6: COVID-19-Dashboard | Teil 2

COVID-19-Dashboard | Teil 2
COVID-19-Dashboard | Teil 2

Die Interaktionsfunktion (ipywidgets.interact) erstellt automatisch Steuerelemente für die Benutzeroberfläche (UI) zum interaktiven Durchsuchen von Code und Daten. Dies ist der einfachste Weg, um mit den Widgets von IPython zu beginnen.

Schritt 7: COVID-19-Dashboard | Teil 3

COVID-19-Dashboard | Teil 3
COVID-19-Dashboard | Teil 3

display_html zeigt die HTML-Darstellungen eines Objekts an. Das heißt, es sucht nach registrierten Anzeigemethoden wie _repr_html_ und ruft sie auf, um das Ergebnis anzuzeigen, falls vorhanden.

Schritt 8: COVID-19-Dashboard | Teil 4

COVID-19-Dashboard | Teil 4
COVID-19-Dashboard | Teil 4

Liste der Pakete (wie in Schritt 2 erklärt) wird in das Programm importiert.

Schritt 9: COVID-19-Dashboard | Teil 5

death_df = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv')

Confirmed_df = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')

recovery_df = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv')

country_df = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/web-data/data/cases_country.csv')

Wie in Schritt 1 erläutert, lesen Sie die Daten als.csv-Datei aus dem Repository.

Schritt 10: COVID-19-Dashboard | Teil 6

COVID-19-Dashboard | Teil 6
COVID-19-Dashboard | Teil 6

Wir werden die df-Spaltennamen in Kleinbuchstaben umbenennen

Schritt 11: COVID-19-Dashboard | Teil 7

COVID-19-Dashboard | Teil 7
COVID-19-Dashboard | Teil 7

Wir werden die Provinz/das Bundesland in das Bundesland und das Land/die Region in ein Land ändern

Schritt 12: COVID-19-Dashboard | Teil 8

COVID-19-Dashboard | Teil 8
COVID-19-Dashboard | Teil 8

Wir berechnen die Gesamtzahl der bestätigten, verstorbenen und wiederhergestellten Fälle.

Schritt 13: COVID-19-Dashboard | Teil 9

COVID-19-Dashboard | Teil 9
COVID-19-Dashboard | Teil 9
COVID-19-Dashboard | Teil 9
COVID-19-Dashboard | Teil 9

Wir werden die Gesamtstatistik im HTML-Format anzeigen, da wir in Schritt 7 zuvor bestimmte Bibliotheken wie folgt importiert haben:

aus IPython.core.display Importanzeige, HTML

Schritt 14: Liste der Länder (Top10) nach Anzahl der Fälle | COVID-19-Dashboard

Liste der Länder (Top10) nach Anzahl der Fälle | COVID-19-Dashboard
Liste der Länder (Top10) nach Anzahl der Fälle | COVID-19-Dashboard
Liste der Länder (Top10) nach Anzahl der Fälle | COVID-19-Dashboard
Liste der Länder (Top10) nach Anzahl der Fälle | COVID-19-Dashboard

fig = go. FigureWidget(layout=go. Layout())

Die FigureWidget-Funktion gibt ein leeres FigureWidget-Objekt mit standardmäßigen x- und y-Achsen zurück. Interaktive Jupyter-Widgets verfügen über ein Layout-Attribut, das eine Reihe von CSS-Eigenschaften verfügbar macht, die sich auf das Layout von Widgets auswirken.

pd. DataFrame

erstellt einen Datenrahmen unter Verwendung eines Wörterbuchs mit drei farbigen Hintergründen für das Ergebnis zum Auffüllen.

def show_latest_cases(TOP)

sortiert die Werte nach bestätigter absteigender Reihenfolge.

interagieren(show_latest_cases, TOP='10')

Die Interaktionsfunktion (ipywidgets.interact) erstellt automatisch Steuerelemente für die Benutzeroberfläche (UI) zum interaktiven Durchsuchen von Code und Daten.

ipywLayout = widgets. Layout(border='solid 2px green')

erstellt einen Rahmen mit 2px breiten Linien in grüner Farbe, damit das Ergebnis angezeigt wird.

Schritt 15: Gesamtzahl der Fälle auf einer Weltkarte | COVID-19-Dashboard

Gesamtzahl der Fälle auf einer Weltkarte | COVID-19-Dashboard
Gesamtzahl der Fälle auf einer Weltkarte | COVID-19-Dashboard
Gesamtzahl der Fälle auf einer Weltkarte | COVID-19-Dashboard
Gesamtzahl der Fälle auf einer Weltkarte | COVID-19-Dashboard

world_map = folium. Map(location=[11, 0], tile="cartodbpositron", zoom_start=2, max_zoom = 6, min_zoom = 2)

Folium ist ein Tool, das Sie wie einen Mapping-Gott aussehen lässt, während die ganze Arbeit im Backend erledigt wird. Es ist ein Python-Wrapper für ein Tool namens leaflet.js. Wir geben im Grunde nur minimale Anweisungen, JS macht eine Menge Arbeit im Hintergrund und wir bekommen einige sehr, sehr coole Karten. Es ist tolles Zeug. Aus Gründen der Übersichtlichkeit wird die Karte technisch als "Broschürenkarte" bezeichnet. Das Tool, mit dem Sie sie in Python aufrufen können, heißt 'Folium'.

Folium macht es einfach, in Python manipulierte Daten auf einer interaktiven Leaflet-Karte zu visualisieren. Es ermöglicht sowohl das Binden von Daten an eine Karte für Choroplethen-Visualisierungen als auch das Übergeben von Vincent/Vega-Visualisierungen als Markierungen auf der Karte.

für i im Bereich(0, len(confirmed_df))

In einer for-Schleife erhalten wir alle bestätigten Fälle aus der Schritt9-Formulierung.

folium. Kreis

Wir erstellen eine Bubble-Map, indem wir folium. Circle() verwenden, um Kreise iterativ hinzuzufügen.

location=[confirmed_df.iloc['lat'], bestätigt_df.iloc['long'], Aus dem bestätigten_df der bestätigten Fälle aus Schritt 5 extrahieren wir die Breiten- und Längengrade, die den einzelnen Standort-/Landesdaten entsprechen.

radius=(int((np.log(confirmed_df.iloc[i, -1]+1.00001)))+0.2)*50000, Erstellen eines Radius-Objekts, um die Blasenkreise auf der Weltkarte über die Länder hinweg zu zeichnen.

color='rot', fill_color='indigo', Machen Sie den Umriss des Blasenkreises rot und den inneren Bereich indigo.

und schließlich Zeichnen der Kreise auf der world_map mit dem Tooltip-Objekt.

Schritt 16: Das Ergebnis

Das Ergebnis!
Das Ergebnis!
Das Ergebnis!
Das Ergebnis!

Anhang zeigt:

  1. Liste der Länder nach Anzahl der Fälle
  2. Gesamtzahl der Fälle auf einer Weltkarte

Empfohlen: