विषयसूची:

विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके): 16 कदम
विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके): 16 कदम

वीडियो: विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके): 16 कदम

वीडियो: विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके): 16 कदम
वीडियो: Plotting CoronaVirus Cases On World Map - Interactive Dashboard Using JavaScript & MapBox 2024, नवंबर
Anonim
विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके)
विश्व मानचित्र पर COVID19 डैशबोर्ड (पायथन का उपयोग करके)

मुझे पता है कि हम में से लगभग सभी लोग COVID19 के बारे में अधिकतर जानकारी जानते हैं।

और यह निर्देश विश्व मानचित्र पर वास्तविक समय के डेटा (मामलों के) को प्लॉट करने के लिए एक बबल मैप बनाने के बारे में है।

अधिक सुविधा के लिए, मैंने प्रोग्राम को जीथब रिपॉजिटरी में जोड़ा है:

github.com/backshell/COVID19dashboard

आपूर्ति

इस तरह की कोई आपूर्ति की आवश्यकता नहीं है और हम पूरे कंप्यूटर प्रोग्राम को GoogleColab नोटबुक के माध्यम से करेंगे। तो शुरुआत के लिए एक जीमेल अकाउंट ही काफी होना चाहिए।

Colab Notebooks / Colaboratory, मशीन सीखने की शिक्षा और शोध के प्रसार में मदद करने के लिए बनाई गई एक Google शोध परियोजना है। यह एक ज्यूपिटर नोटबुक वातावरण है जिसका उपयोग करने के लिए किसी सेटअप की आवश्यकता नहीं है और यह पूरी तरह से क्लाउड में चलता है।

और आपकी मशीन में किसी इंस्टॉलेशन की आवश्यकता नहीं है।

चरण 1: बैकएंड प्रक्रिया को समझना (डेटाबेस)

प्रत्येक सॉफ्टवेयर प्रोग्राम में से अधिकांश बैकएंड से डेटा प्राप्त करते हैं और परिणाम स्वरूपित किया जाता है और फ्रंट-एंड पर प्रकाशित किया जाता है। और इस विशेष कार्यक्रम के लिए, हमें COVID19 वास्तविक डेटा की आवश्यकता होगी।

जी.डब्ल्यू.सी. व्हिटिंग स्कूल ऑफ इंजीनियरिंग अपने जीथब अकाउंट के माध्यम से COVID19 के आंकड़े प्रकाशित कर रहा है:

github.com/CSSEGISandData

प्रारंभ से अब तक, COVID19 देशवार आँकड़े रिपॉजिटरी में प्रकाशित किए जाते हैं।

इसलिए हम उनमें से. CSV स्वरूपित फ़ाइलों (देशों की पंक्ति-वार खंडित) का उपयोग करेंगे और डेटा को विश्व मानचित्र पर प्लॉट करेंगे।

चरण 2: प्रोग्राम में प्रयुक्त पायथन पैकेज/लाइब्रेरी

नीचे पायथन पैकेज और पुस्तकालयों की सूची दी गई है, जिनका हम उपयोग करेंगे। मुझे उनमें से प्रत्येक के उद्देश्य का एक सिंहावलोकन देना चाहिए।

सुन्न:

NumPy पायथन प्रोग्रामिंग भाषा के लिए एक पुस्तकालय है, जो इन सरणियों पर संचालित करने के लिए उच्च-स्तरीय गणितीय कार्यों के एक बड़े संग्रह के साथ-साथ बड़े, बहु-आयामी सरणियों और मैट्रिक्स के लिए समर्थन जोड़ता है।

पांडा:

पांडा एक सॉफ्टवेयर लाइब्रेरी है जो डेटा हेरफेर और विश्लेषण के लिए पायथन प्रोग्रामिंग भाषा के लिए लिखी गई है।

matplotlib.pyplot:

pyplot मुख्य रूप से इंटरेक्टिव प्लॉट और प्रोग्रामेटिक प्लॉट जनरेशन के सरल मामलों के लिए अभिप्रेत है

प्लॉटली एक्सप्रेस:

प्लॉटली एक्सप्रेस एक नया उच्च-स्तरीय पायथन विज़ुअलाइज़ेशन लाइब्रेरी है। जटिल चार्ट के लिए सरल सिंटैक्स।

फोलियम:

फोलियम एक इंटरेक्टिव लीफलेट मैप पर पायथन में हेरफेर किए गए डेटा की कल्पना करना आसान बनाता है।

प्लॉटली.ग्राफ_ऑब्जेक्ट्स:

प्लॉटली पायथन पैकेज ग्राफिकल आंकड़े (यानी चार्ट, प्लॉट, नक्शे और आरेख) बनाने, हेरफेर करने और प्रस्तुत करने के लिए मौजूद है, जिसे डेटा संरचनाओं द्वारा दर्शाया गया है जिसे आंकड़े भी कहा जाता है।

समुद्री जन्म:

सीबॉर्न एक पायथन डेटा विज़ुअलाइज़ेशन लाइब्रेरी है जो मैटप्लोटलिब पर आधारित है। यह आकर्षक और सूचनात्मक सांख्यिकीय ग्राफिक्स बनाने के लिए एक उच्च-स्तरीय इंटरफ़ेस प्रदान करता है।

ipywidgets:

ipywidgets Jupyter नोटबुक, JupyterLab और IPython कर्नेल के लिए इंटरैक्टिव HTML विजेट हैं। जब इंटरेक्टिव विजेट का उपयोग किया जाता है तो नोटबुक जीवंत हो जाते हैं।

इन पैकेजों को स्थापित करने की आवश्यकता नहीं है क्योंकि हम इस कार्यक्रम को पूरी तरह से Google Colab नोटबुक में काम करेंगे (इसे इस पूरे निर्देश में कोलाब के रूप में रखें)।

चरण 3: Colab का उपयोग करने के लिए अपना ड्राइव सेट करना

Colab का इस्तेमाल करने के लिए अपनी डिस्क सेट अप करना
Colab का इस्तेमाल करने के लिए अपनी डिस्क सेट अप करना
Colab का इस्तेमाल करने के लिए अपनी डिस्क सेट अप करना
Colab का इस्तेमाल करने के लिए अपनी डिस्क सेट अप करना

अपनी डिस्क में, अपनी नोटबुक के लिए एक फ़ोल्डर बनाएं.

तकनीकी रूप से कहें तो यह कदम पूरी तरह से जरूरी नहीं है अगर आप कोलाब में काम करना शुरू करना चाहते हैं। हालाँकि, चूँकि Colab आपकी ड्राइव से बाहर काम कर रहा है, इसलिए उस फ़ोल्डर को निर्दिष्ट करना एक बुरा विचार नहीं है जहाँ आप काम करना चाहते हैं। आप अपने Google ड्राइव पर जाकर "नया" पर क्लिक करके और फिर एक नया फ़ोल्डर बनाकर ऐसा कर सकते हैं।

फिर आप यहां कोलाबनोटबुक बनाना चुन सकते हैं या सीधे कोलाब में काम करना शुरू कर सकते हैं और फ़ोल्डर को ड्राइव में लिंक कर सकते हैं, जो कोलाब काम के लिए बनाया गया है।

यह एक अच्छा अभ्यास है, अन्यथा हम इसे जितना अधिक कोलाब बनाएंगे, हमारी ड्राइव में गड़बड़ लग सकती है।

चरण 4: कार्यक्रम का अवलोकन

इस कार्यक्रम/नोटबुक में, हम COVID-19 के लिए निम्नलिखित तैयार करेंगे:

  • मामलों की संख्या द्वारा देशों की सूची
  • विश्व मानचित्र पर कुल मामले

चरण 5: COVID-19 डैशबोर्ड | भाग 1

COVID-19 डैशबोर्ड | भाग 1
COVID-19 डैशबोर्ड | भाग 1

आप अपने कोड को आज पायथन 2 से पायथन 3 में पोर्ट करने में मदद के लिए भविष्य का उपयोग कर सकते हैं - और अभी भी इसे पायथन 2 पर चलाया है।

यदि आपके पास पहले से ही Python 3 कोड है, तो आप लगभग बिना किसी अतिरिक्त कार्य के Python 2 संगतता प्रदान करने के लिए भविष्य का उपयोग कर सकते हैं।

भविष्य कई तंत्रों में से एक के माध्यम से मानक पुस्तकालय पुनर्गठन (पीईपी 3108) का समर्थन करता है, जिससे अधिकांश स्थानांतरित मानक पुस्तकालय मॉड्यूल को उनके पायथन 3 नामों और पायथन 2 में स्थानों के तहत एक्सेस किया जा सकता है।

चरण 6: COVID-19 डैशबोर्ड | भाग 2

COVID-19 डैशबोर्ड | भाग 2
COVID-19 डैशबोर्ड | भाग 2

इंटरैक्ट फ़ंक्शन (ipywidgets.interact) स्वचालित रूप से कोड और डेटा को अंतःक्रियात्मक रूप से एक्सप्लोर करने के लिए उपयोगकर्ता इंटरफ़ेस (UI) नियंत्रण बनाता है। यह IPython के विजेट्स का उपयोग शुरू करने का सबसे आसान तरीका है।

चरण 7: COVID-19 डैशबोर्ड | भाग ३

COVID-19 डैशबोर्ड | भाग ३
COVID-19 डैशबोर्ड | भाग ३

display_html किसी वस्तु के HTML निरूपण को प्रदर्शित करता है। अर्थात्, यह पंजीकृत प्रदर्शन विधियों को देखता है, जैसे कि _repr_html_, और परिणाम प्रदर्शित करते हुए, यदि कोई हो, उन्हें कॉल करता है।

चरण 8: COVID-19 डैशबोर्ड | भाग 4

COVID-19 डैशबोर्ड | भाग 4
COVID-19 डैशबोर्ड | भाग 4

पैकेजों की सूची (जैसा कि चरण 2 में बताया गया है) कार्यक्रम में आयात हो जाता है।

चरण 9: COVID-19 डैशबोर्ड | भाग 5

डेथ_डीएफ = 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')

पुष्टि_डीएफ = 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')

बरामद_डीएफ = 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 से आयात प्रदर्शन, HTML

चरण 14: मामलों की संख्या के आधार पर देशों की सूची (शीर्ष 10) | COVID-19 डैशबोर्ड

मामलों की संख्या के आधार पर देशों की सूची (Top10) | COVID-19 डैशबोर्ड
मामलों की संख्या के आधार पर देशों की सूची (Top10) | COVID-19 डैशबोर्ड
मामलों की संख्या के आधार पर देशों की सूची (Top10) | COVID-19 डैशबोर्ड
मामलों की संख्या के आधार पर देशों की सूची (Top10) | COVID-19 डैशबोर्ड

अंजीर = जाओ। चित्राविजेट (लेआउट = गो। लेआउट ())

चित्राविजेट फ़ंक्शन डिफ़ॉल्ट x और y अक्षों के साथ एक खाली FigWidget ऑब्जेक्ट देता है। जुपिटर इंटरएक्टिव विजेट्स में एक लेआउट विशेषता होती है जो कई सीएसएस गुणों को उजागर करती है जो कि विजेट्स को कैसे निर्धारित किया जाता है।

पीडी.डेटाफ्रेम

परिणामी को पॉप्युलेट करने के लिए तीन रंग पृष्ठभूमि के साथ, शब्दकोश का उपयोग करके डेटाफ़्रेम बनाता है।

def show_latest_cases(TOP)

पुष्टि अवरोही क्रम द्वारा मानों को क्रमबद्ध करता है।

बातचीत (show_latest_cases, TOP='10')

इंटरैक्ट फ़ंक्शन (ipywidgets.interact) कोड और डेटा को अंतःक्रियात्मक रूप से एक्सप्लोर करने के लिए स्वचालित रूप से उपयोगकर्ता इंटरफ़ेस (UI) नियंत्रण बनाता है।

ipywLayout = विगेट्स। लेआउट (सीमा = 'ठोस 2px हरा')

परिणामी प्रदर्शित करने के लिए, हरे रंग की 2px चौड़ाई वाली रेखाओं के साथ एक बॉर्डर बनाता है।

चरण 15: विश्व मानचित्र पर कुल मामले | COVID-19 डैशबोर्ड

विश्व मानचित्र पर कुल मामले | COVID-19 डैशबोर्ड
विश्व मानचित्र पर कुल मामले | COVID-19 डैशबोर्ड
विश्व मानचित्र पर कुल मामले | COVID-19 डैशबोर्ड
विश्व मानचित्र पर कुल मामले | COVID-19 डैशबोर्ड

world_map = फोलियम। मैप (स्थान = [११, ०], टाइल्स = "कार्टोडपोसिट्रॉन", ज़ूम_स्टार्ट = २, मैक्स_ज़ूम = ६, मिन_ज़ूम = २)

फोलियम एक ऐसा उपकरण है जो आपको एक मानचित्रण भगवान की तरह दिखता है, जबकि सभी काम बैक एंड में किए जाते हैं। यह लीफलेट.जेएस नामक टूल के लिए एक पायथन रैपर है। हम मूल रूप से इसे न्यूनतम निर्देश देते हैं, जेएस पृष्ठभूमि में बहुत काम करता है और हमें कुछ बहुत ही अच्छे नक्शे मिलते हैं। बढ़िया सामान है। स्पष्टता के लिए, मानचित्र को तकनीकी रूप से 'लीफलेट मैप' कहा जाता है। जिस टूल से आप उन्हें पायथन में कॉल करते हैं उसे 'फोलियम' कहा जाता है।

फोलियम एक इंटरैक्टिव कैटलॉग मैप पर पायथन में हेरफेर किए गए डेटा की कल्पना करना आसान बनाता है। यह कोरोप्लेथ विज़ुअलाइज़ेशन के साथ-साथ विंसेंट/वेगा विज़ुअलाइज़ेशन को मैप पर मार्कर के रूप में पास करने के लिए डेटा के बंधन दोनों को सक्षम बनाता है।

मेरे लिए रेंज में (0, लेन (पुष्टि_डीएफ))

लूप के लिए, हम चरण 9 फॉर्मूलेशन से सभी पुष्टि किए गए मामलों को प्राप्त करेंगे।

फोलियम.सर्कल

हम मंडलियों को पुनरावृत्त रूप से जोड़ने के लिए फोलियम.सर्कल () का उपयोग करके एक बबल मानचित्र बनाते हैं।

स्थान = [confirmed_df.iloc['lat'],Confed_df.iloc['long'], चरण 5 से पुष्टि किए गए मामलों के पुष्टि_डीएफ से, हम प्रत्येक स्थान/देश डेटा के अनुरूप अक्षांश और देशांतर मान निकालते हैं।

त्रिज्या=(int((np.log(confirmed_df.iloc[i, -1]+1.00001)))+0.2)*50000, देशों में दुनिया के नक्शे पर बुलबुला हलकों की साजिश रचने के लिए त्रिज्या वस्तु बनाना।

रंग = 'लाल', भरण_रंग = 'इंडिगो', बबल सर्कल की रूपरेखा को लाल और आंतरिक क्षेत्र को इंडिगो के रूप में बनाना।

और अंत में टूलटिप ऑब्जेक्ट का उपयोग करके world_map पर मंडलियों को प्लॉट करना।

चरण 16: परिणाम

परिणाम!
परिणाम!
परिणाम!
परिणाम!

अनुलग्नक दिखाता है:

  1. मामलों की संख्या द्वारा देशों की सूची
  2. विश्व मानचित्र पर कुल मामले

सिफारिश की: