Სარჩევი:

COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით): 16 ნაბიჯი
COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით): 16 ნაბიჯი

ვიდეო: COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით): 16 ნაბიჯი

ვიდეო: COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით): 16 ნაბიჯი
ვიდეო: COVID-19 მსოფლიო რუკაზე 2024, დეკემბერი
Anonim
COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით)
COVID19 დაფა მსოფლიო რუქაზე (პითონის გამოყენებით)

მე ვიცი, რომ თითქმის ყველამ ვიცით ყველაზე მეტი ინფორმაცია COVID19– ის შესახებ.

და ეს გასაგები არის ბუშტუკების რუქის შექმნაზე, რეალურ დროში მონაცემების (შემთხვევების) შედგენაზე მსოფლიო რუქაზე.

მეტი მოხერხებულობისთვის, მე დავამატე პროგრამა Github საცავში:

github.com/backshell/COVID19dashboard

მარაგები

მარაგი არ არის საჭირო და ჩვენ გავაკეთებთ მთელ კომპიუტერულ პროგრამას GoogleColab Notebook– ის საშუალებით. ასე რომ, Gmail ანგარიში უნდა იყოს საკმარისი დასაწყებად.

Colab Notebooks / Colaboratory არის Google– ის კვლევითი პროექტი, რომელიც შექმნილია მანქანათმცოდნეობის სწავლებისა და კვლევის გავრცელების დასახმარებლად. ეს არის Jupyter ნოუთბუქის გარემო, რომელიც არ საჭიროებს დაყენებას და მუშაობს მთლიანად ღრუბელში.

და არ არის საჭირო ინსტალაცია თქვენს აპარატში.

ნაბიჯი 1: Backend პროცესის გაგება (მონაცემთა ბაზა)

ყველა პროგრამული უზრუნველყოფის უმეტესობა იძენს მონაცემებს უკანა ნაწილიდან და შედეგად მიიღება ფორმატირება და გამოქვეყნება წინა ბოლომდე. და ამ კონკრეტული პროგრამისთვის ჩვენ გვჭირდება COVID19– ის რეალური მონაცემები.

G. W. C. უაიტინგის საინჟინრო სკოლა აქვეყნებს COVID19 სტატისტიკას თავისი github ანგარიშის საშუალებით:

github.com/CSSEGISandData

დასაწყისიდან დღემდე, COVID19 ქვეყნების გონივრული სტატისტიკა ქვეყნდება საცავში.

ჩვენ გამოვიყენებთ. CSV ფორმატირებულ ფაილებს (სეგმენტურად ქვეყნების მიხედვით) და მონაცემებს დავდებთ მსოფლიო რუქაზე.

ნაბიჯი 2: პითონის პაკეტები/ბიბლიოთეკები, რომლებიც გამოიყენება პროგრამაში

ქვემოთ მოცემულია პითონის პაკეტებისა და ბიბლიოთეკების სია, რომლებსაც ჩვენ ვიყენებდით. ნება მომეცით მიმოვიხილო თითოეული მათგანის მიზანი.

numpy:

NumPy არის ბიბლიოთეკა პითონის პროგრამირების ენაზე, რომელიც ამატებს მხარდაჭერას დიდი, მრავალგანზომილებიანი მასივებისა და მატრიცებისთვის, ასევე მაღალი დონის მათემატიკური ფუნქციების დიდ კოლექციას ამ მასივებზე მუშაობისთვის.

პანდები:

pandas არის პროგრამული ბიბლიოთეკა, რომელიც დაწერილია პითონის პროგრამირების ენაზე მონაცემთა მანიპულირებისა და ანალიზისათვის.

matplotlib.pyplot:

pyplot ძირითადად განკუთვნილია ინტერაქტიული ნაკვეთებისთვის და პროგრამული ნაკვეთების გენერირების მარტივი შემთხვევებისათვის

plotly.express:

Plotly Express არის ახალი მაღალი დონის პითონის ვიზუალიზაციის ბიბლიოთეკა. მარტივი სინტაქსი რთული სქემებისთვის.

ფოლიუმი:

folium აადვილებს პითონში მანიპულირებული მონაცემების ვიზუალიზაციას ინტერაქტიული ბროშურების რუქაზე.

plotly.graph_objects:

პითონის კომპლექსური პაკეტი არსებობს გრაფიკული ფიგურების შესაქმნელად, მანიპულირებისთვის და გაწევისთვის (მაგ. დიაგრამები, ნაკვეთები, რუქები და დიაგრამები) წარმოდგენილია მონაცემთა სტრუქტურებით, რომლებიც ასევე მოიხსენიება როგორც ფიგურები.

ზღვისპირა:

Seaborn არის პითონის მონაცემთა ვიზუალიზაციის ბიბლიოთეკა, რომელიც დაფუძნებულია matplotlib– ზე. ის უზრუნველყოფს მაღალი დონის ინტერფეისს მიმზიდველი და ინფორმაციული სტატისტიკური გრაფიკის დახატვისათვის.

ipywidgets:

ipywidgets არის ინტერაქტიული HTML ვიჯეტები Jupyter ნოუთბუქებისთვის, JupyterLab და IPython ბირთვისთვის. ნოუთბუქები ცოცხლდება, როდესაც ინტერაქტიული ვიჯეტები გამოიყენება.

ამ პაკეტების დაინსტალირება არ არის საჭირო, რადგან ჩვენ ამ პროგრამას მთლიანად Google Colab Notebook- ში ვიმუშავებდით (მოდით შევინარჩუნოთ ის კოლაბად ამ ინსტრუქციის განმავლობაში).

ნაბიჯი 3: დააყენეთ თქვენი დისკი, რომ გამოიყენოთ Colab

დააყენეთ თქვენი დისკი, რომ გამოიყენოთ Colab
დააყენეთ თქვენი დისკი, რომ გამოიყენოთ Colab
დააყენეთ თქვენი დისკი, რომ გამოიყენოთ Colab
დააყენეთ თქვენი დისკი, რომ გამოიყენოთ Colab

თქვენს Drive- ში შექმენით საქაღალდე თქვენი ნოუთბუქებისთვის.

ტექნიკურად რომ ვთქვათ, ეს ნაბიჯი სულაც არ არის აუცილებელი, თუკი გსურთ მხოლოდ კოლაბში დაიწყოთ მუშაობა. თუმცა, ვინაიდან Colab მუშაობს თქვენი დისკიდან, არ არის ცუდი იდეა მიუთითოთ საქაღალდე, სადაც გსურთ მუშაობა. ამის გაკეთება შეგიძლიათ თქვენს Google Drive– ზე გადასვლით და ღილაკზე „ახალი“და შემდეგ ახალი საქაღალდის შექმნით.

შემდეგ თქვენ შეგიძლიათ შექმნათ colabnotebook აქ ან დაიწყოთ უშუალოდ მუშაობა კოლაბში და დააკავშიროთ საქაღალდე დისკზე, რომელიც შექმნილია კოლაბის მუშაობისთვის.

ეს კარგი პრაქტიკაა, სხვაგვარად უფრო მეტად ის კოლაბი, რომელსაც ჩვენ ვქმნით, შეიძლება ბინძურად გამოიყურებოდეს ჩვენს დისკზე.

ნაბიჯი 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) კონტროლს კოდისა და მონაცემების ინტერაქტიული შესასწავლად. ეს არის უმარტივესი გზა 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')

დადასტურებულია

ამოღებული_დფ = 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 დაფა

ქვეყნების სია (ტოპ 10) შემთხვევების რაოდენობის მიხედვით | COVID-19 დაფა
ქვეყნების სია (ტოპ 10) შემთხვევების რაოდენობის მიხედვით | COVID-19 დაფა
ქვეყნების სია (ტოპ 10) შემთხვევების რაოდენობის მიხედვით | COVID-19 დაფა
ქვეყნების სია (ტოპ 10) შემთხვევების რაოდენობის მიხედვით | COVID-19 დაფა

fig = go. FigureWidget (განლაგება = go. Layout ())

FigureWidget ფუნქცია აბრუნებს ცარიელ FigureWidget ობიექტს ნაგულისხმევი x და y ღერძებით. Jupyter ინტერაქტიული ვიჯეტებს აქვთ განლაგების ატრიბუტი, რომელიც ასახავს CSS– ის უამრავ თვისებას, რაც გავლენას ახდენს ვიჯეტების ჩამოყალიბებაზე.

pd. DataFrame

ქმნის მონაცემთა ჩარჩოს ლექსიკონის გამოყენებით, სამი ფერის ფონით, რათა შემდგომში დასახლდეს.

def show_latest_cases (TOP)

ალაგებს მნიშვნელობებს დადასტურებული კლებადობით.

ინტერაქცია (აჩვენეთ_ახლესი_ საქმეები, TOP = '10 ')

ურთიერთქმედების ფუნქცია (ipywidgets.interact) ავტომატურად ქმნის მომხმარებლის ინტერფეისის (UI) კონტროლს კოდისა და მონაცემების ინტერაქტიული შესასწავლად.

ipywLayout = ვიჯეტები. განლაგება (საზღვარი = 'მყარი 2px მწვანე')

ქმნის საზღვარს მწვანე ფერის 2px სიგანის ხაზებით, რის შედეგადაც გამოჩნდება.

ნაბიჯი 15: სულ შემთხვევები მსოფლიო რუქაზე | COVID-19 დაფა

სულ შემთხვევები მსოფლიო რუქაზე | COVID-19 დაფა
სულ შემთხვევები მსოფლიო რუქაზე | COVID-19 დაფა
სულ შემთხვევები მსოფლიო რუქაზე | COVID-19 დაფა
სულ შემთხვევები მსოფლიო რუქაზე | COVID-19 დაფა

world_map = ფოლიუმი. რუკა (მდებარეობა = [11, 0], ფილები = "კარტოდბოპოზიტრონი", zoom_start = 2, max_zoom = 6, min_zoom = 2)

ფოლიუმი არის ინსტრუმენტი, რომელიც გავს ღმერთის რუქას, ხოლო ყველა სამუშაო შესრულებულია უკანა ნაწილში. ეს არის პითონის შესაფუთი ინსტრუმენტი, რომელსაც ეწოდება ბროშურა. Js. ჩვენ ძირითადად ვაძლევთ მინიმალურ მითითებებს, JS აკეთებს უამრავ სამუშაოს ფონზე და ჩვენ ვიღებთ ძალიან, ძალიან მაგარ რუქებს. დიდი რამეა. სიცხადისთვის, რუქას ტექნიკურად ეწოდება "ბროშურის რუქა". ინსტრუმენტს, რომელსაც თქვენ შეგიძლიათ დაარქვათ პითონში, ეწოდება "ფოლიუმი".

ფოლიუმი აადვილებს პითონში მანიპულირებული მონაცემების ვიზუალიზაციას ინტერაქტიული ბროშურის რუქაზე. ის შესაძლებელს ხდის მონაცემების შეკავშირებას რუქაზე ქოროპლეტის ვიზუალიზაციისთვის, ასევე ვინსენტ/ვეგას ვიზუალიზაციას, როგორც მარკერს რუკაზე.

მე დიაპაზონში (0, ლენ (დადასტურებული_დფ))

For for loop, ჩვენ მივიღებთ ყველა დადასტურებულ შემთხვევას ნაბიჯი 9 -ის ფორმულირებიდან.

ფოლიუმი. წრე

ჩვენ ვქმნით ბუშტუკების რუქას ფოლიუმის გამოყენებით. შემოხაზეთ () წრეების განმეორებით დასამატებლად.

მდებარეობა = [confirm_df.iloc ['lat'], confirm_df.iloc ['long'], მე –5 საფეხურიდან დადასტურებული შემთხვევების დადასტურებული_დფ -დან ვიღებთ გრძედის და გრძედის მნიშვნელობებს, რომლებიც შეესაბამება თითოეული მდებარეობის/ქვეყნის მონაცემებს.

რადიუსი = (int ((np.log (confirm_df.iloc [i, -1] +1.00001))))+0.2)*50000, რადიუსის ობიექტის შექმნა მსოფლიოს რუქაზე ბუშტუკების წრეების გამოსახვის მიზნით.

ფერი = 'წითელი', fill_color = 'ინდიგო', ბუშტის წრის მოხაზულობა წითლად და შიდა არე ინდიგოთი.

და ბოლოს სამყაროს რუქაზე წრეების დახატვა tooltip ობიექტის გამოყენებით.

ნაბიჯი 16: შედეგი

Შედეგი!
Შედეგი!
Შედეგი!
Შედეგი!

დანართი გვიჩვენებს:

  1. ქვეყნების ჩამონათვალი შემთხვევების რაოდენობის მიხედვით
  2. სულ შემთხვევები მსოფლიო რუქაზე

გირჩევთ: