Πίνακας περιεχομένων:

Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python): 16 βήματα
Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python): 16 βήματα

Βίντεο: Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python): 16 βήματα

Βίντεο: Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python): 16 βήματα
Βίντεο: Computational Thinking - Computer Science for Business Leaders 2016 2024, Νοέμβριος
Anonim
Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python)
Πίνακας ελέγχου COVID19 στον παγκόσμιο χάρτη (χρησιμοποιώντας Python)

Ξέρω ότι σχεδόν όλοι γνωρίζουμε τις περισσότερες πληροφορίες για τον COVID19.

Και αυτό το διδακτικό είναι για τη δημιουργία ενός χάρτη φούσκας, για να σχεδιάσετε τα δεδομένα σε πραγματικό χρόνο (περιπτώσεων) στον παγκόσμιο χάρτη.

Για μεγαλύτερη ευκολία, πρόσθεσα το πρόγραμμα στο αποθετήριο Github:

github.com/backshell/COVID19dashboard

Προμήθειες

Δεν απαιτούνται προμήθειες ως τέτοιες και θα κάναμε ολόκληρο το πρόγραμμα υπολογιστή μέσω του GoogleColab Notebook. Επομένως, ένας λογαριασμός gmail θα πρέπει να είναι αρκετός για αρχή.

Το Colab Notebooks / Colaboratory είναι ένα ερευνητικό έργο της Google που δημιουργήθηκε για να βοηθήσει στη διάδοση της εκπαίδευσης και της έρευνας για τη μηχανική εκμάθηση. Είναι ένα περιβάλλον φορητού υπολογιστή Jupyter που δεν απαιτεί ρύθμιση για χρήση και λειτουργεί πλήρως στο cloud.

Και ΔΕΝ απαιτείται εγκατάσταση στο μηχάνημά σας.

Βήμα 1: Κατανόηση της διαδικασίας Backend (βάση δεδομένων)

Τα περισσότερα από όλα τα προγράμματα λογισμικού λαμβάνουν δεδομένα από το backend και το αποτέλεσμα διαμορφώνεται και δημοσιεύεται στο μπροστινό μέρος. Και για το συγκεκριμένο πρόγραμμα, θα απαιτούσαμε πραγματικά δεδομένα COVID19.

Το G. W. C. Η Σχολή Μηχανικών Whiting δημοσιεύει τα στατιστικά στοιχεία του COVID19 μέσω του λογαριασμού της στο github:

github.com/CSSEGISandData

Από την αρχή μέχρι σήμερα, τα στατιστικά στοιχεία για τη χώρα COVID19 δημοσιεύονται στο αποθετήριο.

Έτσι, θα χρησιμοποιούσαμε τα μορφοποιημένα αρχεία τους. CSV (κατά σειρά χωρών) και θα σχεδιάζαμε τα δεδομένα στον παγκόσμιο χάρτη.

Βήμα 2: Πακέτα/βιβλιοθήκες Python που χρησιμοποιούνται στο πρόγραμμα

Παρακάτω είναι η λίστα των πακέτων python και των βιβλιοθηκών, που θα χρησιμοποιούσαμε. Επιτρέψτε μου να δώσω μια επισκόπηση του σκοπού καθενός από αυτά.

μουδιασμένος:

Το NumPy είναι μια βιβλιοθήκη για τη γλώσσα προγραμματισμού Python, προσθέτοντας υποστήριξη για μεγάλους, πολυδιάστατους πίνακες και πίνακες, μαζί με μια μεγάλη συλλογή μαθηματικών συναρτήσεων υψηλού επιπέδου για τη λειτουργία αυτών των συστοιχιών.

pandas:

Το pandas είναι μια βιβλιοθήκη λογισμικού γραμμένη για τη γλώσσα προγραμματισμού Python για χειρισμό και ανάλυση δεδομένων.

matplotlib.pyplot:

Το pyplot προορίζεται κυρίως για διαδραστικά οικόπεδα και απλές περιπτώσεις δημιουργίας γραφήματος μέσω προγραμματισμού

plotly.express:

Το Plotly Express είναι μια νέα βιβλιοθήκη οπτικοποίησης Python υψηλού επιπέδου. Απλή σύνταξη για σύνθετα γραφήματα.

folium:

Το folium διευκολύνει την απεικόνιση δεδομένων που έχουν χειριστεί στην Python σε έναν διαδραστικό χάρτη φυλλαδίων.

plotly.graph_objects:

Το ολοκληρωμένο πακέτο Python υπάρχει για τη δημιουργία, τον χειρισμό και την απόδοση γραφικών σχημάτων (δηλαδή γραφήματα, γραφήματα, χάρτες και διαγράμματα) που αντιπροσωπεύονται από δομές δεδομένων που αναφέρονται επίσης ως σχήματα.

θαλασσινό:

Το Seaborn είναι μια βιβλιοθήκη οπτικοποίησης δεδομένων Python που βασίζεται στο matplotlib. Παρέχει μια διεπαφή υψηλού επιπέδου για τη σχεδίαση ελκυστικών και ενημερωτικών στατιστικών γραφικών.

ipywidgets:

Τα ipywidgets είναι διαδραστικά widget HTML για φορητούς υπολογιστές Jupyter, JupyterLab και τον πυρήνα IPython. Τα σημειωματάρια ζωντανεύουν όταν χρησιμοποιούνται διαδραστικά widget.

Η εγκατάσταση αυτών των πακέτων δεν είναι απαραίτητη, καθώς θα δουλεύαμε αυτό το πρόγραμμα εξ ολοκλήρου στο Google Colab Notebook (σας επιτρέπει να το διατηρήσετε ως colab καθ 'όλη τη διάρκεια αυτού του οδηγού).

Βήμα 3: Ρύθμιση του δίσκου σας, για χρήση Colab

Ρύθμιση του δίσκου σας, για χρήση Colab
Ρύθμιση του δίσκου σας, για χρήση Colab
Ρύθμιση του δίσκου σας, για χρήση Colab
Ρύθμιση του δίσκου σας, για χρήση Colab

Στο Drive σας, δημιουργήστε ένα φάκελο για τα σημειωματάριά σας.

Από τεχνική άποψη, αυτό το βήμα δεν είναι απολύτως απαραίτητο εάν θέλετε να ξεκινήσετε να εργάζεστε στο Colab. Ωστόσο, δεδομένου ότι η Colab εξαντλείται στη μονάδα δίσκου σας, δεν είναι κακή ιδέα να καθορίσετε το φάκελο στον οποίο θέλετε να εργαστείτε. Μπορείτε να το κάνετε αυτό πηγαίνοντας στο Google Drive και κάνοντας κλικ στο "Νέο" και, στη συνέχεια, δημιουργώντας έναν νέο φάκελο.

Στη συνέχεια, μπορείτε να επιλέξετε να δημιουργήσετε colabnotebook εδώ ή να αρχίσετε να εργάζεστε απευθείας στο colab και να συνδέετε το φάκελο στη μονάδα δίσκου, ο οποίος έχει δημιουργηθεί για εργασία colab.

Αυτή είναι μια καλή πρακτική, αλλιώς το colab που δημιουργούμε μπορεί να φαίνεται ακατάστατο στο δίσκο μας.

Βήμα 4: Επισκόπηση του προγράμματος

Σε αυτό το πρόγραμμα/σημειωματάριο, θα δημιουργούσαμε τα ακόλουθα για τον COVID-19:

  • Κατάλογος χωρών κατά αριθμό περιπτώσεων
  • Σύνολο υποθέσεων σε παγκόσμιο χάρτη

Βήμα 5: Πίνακας ελέγχου COVID-19 | Μέρος 1

Πίνακας ελέγχου COVID-19 | Μέρος 1
Πίνακας ελέγχου COVID-19 | Μέρος 1

Μπορείτε να χρησιμοποιήσετε το μέλλον για να σας βοηθήσουμε να μεταφέρετε τον κώδικά σας από Python 2 σε Python 3 σήμερα - και να συνεχίσετε να τον εκτελείτε σε Python 2.

Εάν έχετε ήδη κωδικό Python 3, μπορείτε να χρησιμοποιήσετε το μέλλον για να προσφέρετε συμβατότητα Python 2 χωρίς σχεδόν καμία επιπλέον εργασία.

Το μέλλον υποστηρίζει την τυπική αναδιοργάνωση της βιβλιοθήκης (PEP 3108) μέσω ενός από τους διάφορους μηχανισμούς, επιτρέποντας την πρόσβαση των περισσότερων τυποποιημένων μονάδων βιβλιοθήκης με τα ονόματα και τις τοποθεσίες Python 3 στο Python 2.

Βήμα 6: Πίνακας ελέγχου COVID-19 | Μέρος 2ο

Πίνακας ελέγχου COVID-19 | Μέρος 2ο
Πίνακας ελέγχου COVID-19 | Μέρος 2ο

Η λειτουργία αλληλεπίδρασης (ipywidgets.interact) δημιουργεί αυτόματα στοιχεία ελέγχου διεπαφής χρήστη (UI) για διερεύνηση διαδραστικού κώδικα και δεδομένων. Είναι ο ευκολότερος τρόπος για να ξεκινήσετε να χρησιμοποιείτε widget του IPython.

Βήμα 7: Πίνακας ελέγχου COVID-19 | Μέρος 3

Πίνακας ελέγχου COVID-19 | Μέρος 3
Πίνακας ελέγχου COVID-19 | Μέρος 3

display_html εμφανίζει τις αναπαραστάσεις HTML ενός αντικειμένου. Δηλαδή, αναζητά καταχωρημένες μεθόδους εμφάνισης, όπως _repr_html_, και τις καλεί, εμφανίζοντας το αποτέλεσμα, εάν υπάρχει.

Βήμα 8: Πίνακας ελέγχου COVID-19 | Μέρος 4

Πίνακας ελέγχου COVID-19 | Μέρος 4
Πίνακας ελέγχου COVID-19 | Μέρος 4

Η λίστα των πακέτων (όπως εξηγείται στο βήμα 2) εισάγεται στο πρόγραμμα.

Βήμα 9: Πίνακας ελέγχου COVID-19 | Μέρος 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')

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

reccover_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')

Όπως εξηγείται στο βήμα 1, διαβάζοντας τα δεδομένα ως αρχείο.csv από το αποθετήριο.

Βήμα 10: Πίνακας ελέγχου COVID-19 | Μέρος 6

Πίνακας ελέγχου COVID-19 | Μέρος 6
Πίνακας ελέγχου COVID-19 | Μέρος 6

Θα μετονομάσουμε τα ονόματα της στήλης df σε πεζά

Βήμα 11: Πίνακας ελέγχου COVID-19 | Μέρος 7

Πίνακας ελέγχου COVID-19 | Μέρος 7
Πίνακας ελέγχου COVID-19 | Μέρος 7

Θα αλλάξουμε την επαρχία/πολιτεία σε πολιτεία και χώρα/περιοχή σε χώρα

Βήμα 12: Πίνακας ελέγχου COVID-19 | Μέρος 8

Πίνακας ελέγχου COVID-19 | Μέρος 8
Πίνακας ελέγχου COVID-19 | Μέρος 8

Θα υπολογίσουμε τον συνολικό αριθμό των επιβεβαιωμένων, θανάτων και ανακτηθέντων περιπτώσεων.

Βήμα 13: Πίνακας ελέγχου COVID-19 | Μέρος 9

Πίνακας ελέγχου COVID-19 | Μέρος 9
Πίνακας ελέγχου COVID-19 | Μέρος 9
Πίνακας ελέγχου COVID-19 | Μέρος 9
Πίνακας ελέγχου COVID-19 | Μέρος 9

Θα εμφανίσουμε τα συνολικά στατιστικά στοιχεία σε μορφή HTML, καθώς εισαγάγαμε συγκεκριμένες βιβλιοθήκες στο βήμα 7 νωρίτερα, όπως παρακάτω:

από το IPython.core.display display import, HTML

Βήμα 14: Λίστα χωρών (Top10) κατά αριθμό περιπτώσεων | Πίνακας ελέγχου COVID-19

Κατάλογος χωρών (Top10) κατά αριθμό περιπτώσεων | Πίνακας ελέγχου COVID-19
Κατάλογος χωρών (Top10) κατά αριθμό περιπτώσεων | Πίνακας ελέγχου COVID-19
Κατάλογος χωρών (Top10) κατά αριθμό περιπτώσεων | Πίνακας ελέγχου COVID-19
Κατάλογος χωρών (Top10) κατά αριθμό περιπτώσεων | Πίνακας ελέγχου COVID-19

fig = go. FigureWidget (διάταξη = go. Layout ())

Η συνάρτηση FigureWidget επιστρέφει ένα κενό αντικείμενο FigureWidget με προεπιλεγμένους άξονες x και y. Τα διαδραστικά widget του Jupyter έχουν ένα χαρακτηριστικό διάταξης που εκθέτει μια σειρά από ιδιότητες CSS που επηρεάζουν τον τρόπο με τον οποίο σχεδιάζονται τα widget.

pd. DataFrame

δημιουργεί πλαίσιο δεδομένων χρησιμοποιώντας λεξικό, με τρία έγχρωμα υπόβαθρα για να συμπληρωθεί το αποτέλεσμα.

def show_latest_cases (TOP)

ταξινομεί τις τιμές με επιβεβαιωμένη φθίνουσα σειρά.

αλληλεπιδρούν (show_latest_cases, TOP = '10 ')

Η λειτουργία αλληλεπίδρασης (ipywidgets.interact) δημιουργεί αυτόματα στοιχεία ελέγχου διεπαφής χρήστη (UI) για διερεύνηση διαδραστικού κώδικα και δεδομένων.

ipywLayout = widgets. Layout (περίγραμμα = 'σταθερό πράσινο 2px')

δημιουργεί ένα περίγραμμα με γραμμές πλάτους 2px πράσινου χρώματος, για να εμφανιστεί το αποτέλεσμα.

Βήμα 15: Σύνολο υποθέσεων σε παγκόσμιο χάρτη | Πίνακας ελέγχου COVID-19

Σύνολο υποθέσεων σε παγκόσμιο χάρτη | Πίνακας ελέγχου COVID-19
Σύνολο υποθέσεων σε παγκόσμιο χάρτη | Πίνακας ελέγχου COVID-19
Σύνολο υποθέσεων σε παγκόσμιο χάρτη | Πίνακας ελέγχου COVID-19
Σύνολο υποθέσεων σε παγκόσμιο χάρτη | Πίνακας ελέγχου COVID-19

world_map = folium. Hap (τοποθεσία = [11, 0], πλακίδια = "cartodbpositron", zoom_start = 2, max_zoom = 6, min_zoom = 2)

Το Folium είναι ένα εργαλείο που σας κάνει να μοιάζετε με τον Θεό χαρτογράφησης ενώ όλη η εργασία γίνεται στο πίσω άκρο. Είναι ένα περιτύλιγμα Python για ένα εργαλείο που ονομάζεται φυλλάδιο.js. Ουσιαστικά του δίνουμε ελάχιστες οδηγίες, ο JS κάνει πολλές δουλειές στο παρασκήνιο και παίρνουμε μερικούς πολύ, πολύ δροσερούς χάρτες. Είναι υπέροχα πράγματα. Για λόγους σαφήνειας, ο χάρτης ονομάζεται τεχνικά «Χάρτης φυλλαδίων». Το εργαλείο που σας λέμε στην Python ονομάζεται 'Folium'.

Το Folium διευκολύνει την απεικόνιση δεδομένων που έχουν χειριστεί στην Python σε έναν διαδραστικό χάρτη Leaflet. Επιτρέπει τόσο τη δέσμευση δεδομένων σε έναν χάρτη για απεικονίσεις χοροπληθίας όσο και τη μετάδοση οπτικοποιήσεων Vincent/Vega ως δείκτες στο χάρτη.

για i στο εύρος (0, len (confirm_df))

Σε έναν βρόχο for, θα λάβουμε όλες τις επιβεβαιωμένες περιπτώσεις από τη διατύπωση του βήματος 9.

folium. Circle

Δημιουργούμε έναν χάρτη φυσαλίδων χρησιμοποιώντας το folium. Circle () για να προσθέσουμε επαναληπτικά κύκλους.

τοποθεσία = [confirm_df.iloc ['lat'], confirm_df.iloc ['long'], από το επιβεβαιωμένο_df των επιβεβαιωμένων περιπτώσεων από το βήμα 5, εξάγουμε τις τιμές γεωγραφικού πλάτους και γεωγραφικού μήκους που αντιστοιχούν σε κάθε τοποθεσία/χώρα δεδομένων.

ακτίνα = (int ((np.log (confirm_df.iloc [i, -1] +1.00001))))+0.2)*50000, δημιουργώντας αντικείμενο ακτίνας για να σχεδιάσετε τους κύκλους φούσκας στον παγκόσμιο χάρτη σε όλες τις χώρες.

χρώμα = 'κόκκινο', fill_color = 'λουλακί', κάνοντας το περίγραμμα του κύκλου της φούσκας κόκκινο και την εσωτερική περιοχή σαν λουλακί.

και τέλος σχεδιάζοντας τους κύκλους στο world_map χρησιμοποιώντας το αντικείμενο tooltip.

Βήμα 16: Το αποτέλεσμα

Το αποτέλεσμα!
Το αποτέλεσμα!
Το αποτέλεσμα!
Το αποτέλεσμα!

Το συνημμένο δείχνει:

  1. Κατάλογος χωρών κατά αριθμό περιπτώσεων
  2. Σύνολο υποθέσεων σε παγκόσμιο χάρτη

Συνιστάται: