Profile picture

Analyzing COVID‐19 Outbreak

Last updated: March 9th, 20212021-03-09Project preview

rmotr


Analyzing the epidemiological outbreak of COVID‐19

A visual exploratory data analysis approach.

In [2]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import seaborn as sns
import plotly.express as px
import theme

%matplotlib inline

green-divider

Step 1: Reading Data

We will load COVID-19 data from the GitHub data repository for the 2019 Novel Coronavirus Visual Dashboard operated by the Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE). Also, Supported by ESRI Living Atlas Team and the Johns Hopkins University Applied Physics Lab (JHU APL).

This data is daily-updated, so we can keep our project up-to-date just by loading this data again.

Let's load the data and quickly analyze it's columns and values:

In [3]:
COVID_CONFIRMED_URL = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'

covid_confirmed = pd.read_csv(COVID_CONFIRMED_URL)

print(covid_confirmed.shape)

covid_confirmed.head()
(274, 416)
Out[3]:
Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 1/31/20 2/1/20 2/2/20 2/3/20 2/4/20 2/5/20 2/6/20 2/7/20 2/8/20 2/9/20 2/10/20 2/11/20 2/12/20 2/13/20 2/14/20 2/15/20 2/16/20 2/17/20 2/18/20 2/19/20 2/20/20 2/21/20 2/22/20 2/23/20 2/24/20 2/25/20 2/26/20 2/27/20 2/28/20 2/29/20 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 3/18/20 3/19/20 3/20/20 3/21/20 3/22/20 3/23/20 3/24/20 3/25/20 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 4/2/20 4/3/20 4/4/20 4/5/20 4/6/20 4/7/20 4/8/20 4/9/20 4/10/20 4/11/20 4/12/20 4/13/20 4/14/20 4/15/20 4/16/20 4/17/20 4/18/20 4/19/20 4/20/20 4/21/20 4/22/20 4/23/20 4/24/20 4/25/20 4/26/20 4/27/20 4/28/20 4/29/20 4/30/20 5/1/20 5/2/20 5/3/20 5/4/20 5/5/20 5/6/20 5/7/20 5/8/20 5/9/20 5/10/20 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 5/29/20 5/30/20 5/31/20 6/1/20 6/2/20 6/3/20 6/4/20 6/5/20 6/6/20 6/7/20 6/8/20 6/9/20 6/10/20 6/11/20 6/12/20 6/13/20 6/14/20 6/15/20 6/16/20 6/17/20 6/18/20 6/19/20 6/20/20 6/21/20 6/22/20 6/23/20 6/24/20 6/25/20 6/26/20 6/27/20 6/28/20 6/29/20 6/30/20 7/1/20 7/2/20 7/3/20 7/4/20 7/5/20 7/6/20 7/7/20 7/8/20 7/9/20 7/10/20 7/11/20 7/12/20 7/13/20 7/14/20 7/15/20 7/16/20 7/17/20 7/18/20 7/19/20 7/20/20 7/21/20 7/22/20 7/23/20 7/24/20 7/25/20 7/26/20 7/27/20 7/28/20 7/29/20 7/30/20 7/31/20 8/1/20 8/2/20 8/3/20 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20 8/14/20 8/15/20 8/16/20 8/17/20 8/18/20 8/19/20 8/20/20 8/21/20 8/22/20 8/23/20 8/24/20 8/25/20 8/26/20 8/27/20 8/28/20 8/29/20 8/30/20 8/31/20 9/1/20 9/2/20 9/3/20 9/4/20 9/5/20 9/6/20 9/7/20 9/8/20 9/9/20 9/10/20 9/11/20 9/12/20 9/13/20 9/14/20 9/15/20 9/16/20 9/17/20 9/18/20 9/19/20 9/20/20 9/21/20 9/22/20 9/23/20 9/24/20 9/25/20 9/26/20 9/27/20 9/28/20 9/29/20 9/30/20 10/1/20 10/2/20 10/3/20 10/4/20 10/5/20 10/6/20 10/7/20 10/8/20 10/9/20 10/10/20 10/11/20 10/12/20 10/13/20 10/14/20 10/15/20 10/16/20 10/17/20 10/18/20 10/19/20 10/20/20 10/21/20 10/22/20 10/23/20 10/24/20 10/25/20 10/26/20 10/27/20 10/28/20 10/29/20 10/30/20 10/31/20 11/1/20 11/2/20 11/3/20 11/4/20 11/5/20 11/6/20 11/7/20 11/8/20 11/9/20 11/10/20 11/11/20 11/12/20 11/13/20 11/14/20 11/15/20 11/16/20 11/17/20 11/18/20 11/19/20 11/20/20 11/21/20 11/22/20 11/23/20 11/24/20 11/25/20 11/26/20 11/27/20 11/28/20 11/29/20 11/30/20 12/1/20 12/2/20 12/3/20 12/4/20 12/5/20 12/6/20 12/7/20 12/8/20 12/9/20 12/10/20 12/11/20 12/12/20 12/13/20 12/14/20 12/15/20 12/16/20 12/17/20 12/18/20 12/19/20 12/20/20 12/21/20 12/22/20 12/23/20 12/24/20 12/25/20 12/26/20 12/27/20 12/28/20 12/29/20 12/30/20 12/31/20 1/1/21 1/2/21 1/3/21 1/4/21 1/5/21 1/6/21 1/7/21 1/8/21 1/9/21 1/10/21 1/11/21 1/12/21 1/13/21 1/14/21 1/15/21 1/16/21 1/17/21 1/18/21 1/19/21 1/20/21 1/21/21 1/22/21 1/23/21 1/24/21 1/25/21 1/26/21 1/27/21 1/28/21 1/29/21 1/30/21 1/31/21 2/1/21 2/2/21 2/3/21 2/4/21 2/5/21 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 2/16/21 2/17/21 2/18/21 2/19/21 2/20/21 2/21/21 2/22/21 2/23/21 2/24/21 2/25/21 2/26/21 2/27/21 2/28/21 3/1/21 3/2/21 3/3/21 3/4/21 3/5/21 3/6/21 3/7/21 3/8/21
0 NaN Afghanistan 33.939 67.710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 4 4 4 4 5 7 8 11 12 13 15 16 18 20 24 25 29 30 34 41 43 76 80 91 107 118 146 175 197 240 275 300 338 368 424 445 485 532 556 608 666 715 785 841 907 934 997 1027 1093 1177 1236 1331 1464 1532 1704 1830 1940 2127 2291 2470 2705 2895 3225 3393 3564 3781 4042 4403 4687 4968 5227 5640 6054 6403 6665 7073 7654 8146 8677 9219 10001 10585 11176 11834 12459 13039 13662 14528 15208 15753 16512 17270 18057 18972 19554 20345 20920 21462 22146 22894 23550 24106 24770 25531 26314 26878 27536 27882 28428 28837 29147 29471 29705 30165 30441 30606 30957 31228 31507 31826 32012 32314 32662 32941 33180 33374 33584 33898 34184 34356 34441 34595 34730 34984 35060 35219 35279 35453 35493 35605 35717 35918 35978 36026 36147 36253 36358 36463 36532 36665 36700 36701 36737 36773 36820 36928 37006 37046 37083 37153 37260 37336 37422 37497 37542 37590 37667 37710 37750 37852 37885 37944 37990 38045 38061 38103 38119 38130 38133 38155 38159 38193 38243 38288 38304 38324 38398 38494 38520 38544 38572 38606 38641 38716 38772 38815 38855 38872 38897 38919 39044 39074 39096 39145 39170 39186 39192 39227 39239 39254 39268 39285 39290 39297 39341 39422 39486 39548 39616 39693 39703 39799 39870 39928 39994 40026 40088 40141 40200 40287 40369 40510 40626 40687 40768 40833 40937 41032 41145 41268 41334 41425 41501 41633 41728 41814 41935 41975 42033 42159 42297 42463 42609 42795 42969 43035 43240 43468 43681 43924 44177 44363 44503 44706 44988 45174 45384 45600 45723 45844 46116 46274 46516 46718 46837 46837 47072 47306 47516 47716 47851 48053 48116 48229 48527 48718 48952 49161 49378 49621 49681 49817 50013 50190 50433 50655 50810 50886 51039 51280 51350 51405 51526 51526 51526 51526 53011 53105 53105 53207 53332 53400 53489 53538 53584 53584 53775 53831 53938 53984 54062 54141 54278 54403 54483 54559 54595 54672 54750 54854 54891 54939 55008 55023 55059 55121 55174 55231 55265 55330 55335 55359 55384 55402 55420 55445 55473 55492 55514 55518 55540 55557 55575 55580 55604 55617 55646 55664 55680 55696 55707 55714 55733 55759 55770 55775 55827 55840 55847 55876
1 NaN Albania 41.153 20.168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 10 12 23 33 38 42 51 55 59 64 70 76 89 104 123 146 174 186 197 212 223 243 259 277 304 333 361 377 383 400 409 416 433 446 467 475 494 518 539 548 562 584 609 634 663 678 712 726 736 750 766 773 782 789 795 803 820 832 842 850 856 868 872 876 880 898 916 933 946 948 949 964 969 981 989 998 1004 1029 1050 1076 1099 1122 1137 1143 1164 1184 1197 1212 1232 1246 1263 1299 1341 1385 1416 1464 1521 1590 1672 1722 1788 1838 1891 1962 1995 2047 2114 2192 2269 2330 2402 2466 2535 2580 2662 2752 2819 2893 2964 3038 3106 3188 3278 3371 3454 3571 3667 3752 3851 3906 4008 4090 4171 4290 4358 4466 4570 4637 4763 4880 4997 5105 5197 5276 5396 5519 5620 5750 5889 6016 6151 6275 6411 6536 6676 6817 6971 7117 7260 7380 7499 7654 7812 7967 8119 8275 8427 8605 8759 8927 9083 9195 9279 9380 9513 9606 9728 9844 9967 10102 10255 10406 10553 10704 10860 11021 11185 11353 11520 11672 11816 11948 12073 12226 12385 12535 12666 12787 12921 13045 13153 13259 13391 13518 13649 13806 13965 14117 14266 14410 14568 14730 14899 15066 15231 15399 15570 15752 15955 16212 16501 16774 17055 17350 17651 17948 18250 18556 18858 19157 19445 19729 20040 20315 20634 20875 21202 21523 21904 22300 22721 23210 23705 24206 24731 25294 25801 26211 26701 27233 27830 28432 29126 29837 30623 31459 32196 32761 33556 34300 34944 35600 36245 36790 37625 38182 39014 39719 40501 41302 42148 42988 43683 44436 45188 46061 46863 47742 48530 49191 50000 50637 51424 52004 52542 53003 53425 53814 54317 54827 55380 55755 56254 56572 57146 57727 58316 58316 58991 59438 59623 60283 61008 61705 62378 63033 63595 63971 64627 65334 65994 66635 67216 67690 67982 68568 69238 69916 70655 71441 72274 72812 73691 74567 75454 76350 77251 78127 78992 79934 80941 81993 83082 84212 85336 86289 87528 88671 89776 90835 91987 93075 93850 94651 95726 96838 97909 99062 100246 101285 102306 103327 104313 105229 106215 107167 107931 108823 109674 110521 111301 112078 112897 113580
2 NaN Algeria 28.034 1.660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 3 5 12 12 17 17 19 20 20 20 24 26 37 48 54 60 74 87 90 139 201 230 264 302 367 409 454 511 584 716 847 986 1171 1251 1320 1423 1468 1572 1666 1761 1825 1914 1983 2070 2160 2268 2418 2534 2629 2718 2811 2910 3007 3127 3256 3382 3517 3649 3848 4006 4154 4295 4474 4648 4838 4997 5182 5369 5558 5723 5891 6067 6253 6442 6629 6821 7019 7201 7377 7542 7728 7918 8113 8306 8503 8697 8857 8997 9134 9267 9394 9513 9626 9733 9831 9935 10050 10154 10265 10382 10484 10589 10698 10810 10919 11031 11147 11268 11385 11504 11631 11771 11920 12076 12248 12445 12685 12968 13273 13571 13907 14272 14657 15070 15500 15941 16404 16879 17348 17808 18242 18712 19195 19689 20216 20770 21355 21948 22549 23084 23691 24278 24872 25484 26159 26764 27357 27973 28615 29229 29831 30394 30950 31465 31972 32504 33055 33626 34155 34693 35160 35712 36204 36699 37187 37664 38133 38583 39025 39444 39847 40258 40667 41068 41460 41858 42228 42619 43016 43403 43781 44146 44494 44833 45158 45469 45773 46071 46364 46653 46938 47216 47488 47752 48007 48254 48496 48734 48966 49194 49413 49623 49826 50023 50214 50400 50579 50754 50914 51067 51213 51368 51530 51690 51847 51995 52136 52270 52399 52520 52658 52804 52940 53072 53325 53399 53584 53777 53998 54203 54402 54616 54829 55081 55357 55630 55880 56143 56419 56706 57026 57332 57651 57942 58272 58574 58979 59527 60169 60800 61381 62051 62693 63446 64257 65108 65975 66819 67679 68589 69591 70629 71652 72755 73774 74862 75867 77000 78025 79110 80168 81212 82221 83199 84152 85084 85927 86730 87502 88252 88825 89416 90014 90579 91121 91638 92102 92597 93065 93507 93933 94371 94781 95203 95659 96069 96549 97007 97441 97857 98249 98631 98988 99311 99610 99897 100159 100408 100645 100873 101120 101382 101657 101913 102144 102369 102641 102860 103127 103381 103611 103833 104092 104341 104606 104852 105124 105369 105596 105854 106097 106359 106610 106887 107122 107339 107578 107841 108116 108381 108629 108629 109088 109313 109559 109782 110049 110303 110513 110711 110894 111069 111247 111418 111600 111764 111917 112094 112279 112461 112622 112805 112960 113092 113255 113430 113593 113761 113948 114104 114234 114382
3 NaN Andorra 42.506 1.522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 39 39 53 75 88 113 133 164 188 224 267 308 334 370 376 390 428 439 466 501 525 545 564 583 601 601 638 646 659 673 673 696 704 713 717 717 723 723 731 738 738 743 743 743 745 745 747 748 750 751 751 752 752 754 755 755 758 760 761 761 761 761 761 761 762 762 762 762 762 763 763 763 763 764 764 764 765 844 851 852 852 852 852 852 852 852 852 853 853 853 853 854 854 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 858 861 862 877 880 880 880 884 884 889 889 897 897 897 907 907 918 922 925 925 925 937 939 939 944 955 955 955 963 963 977 981 989 989 989 1005 1005 1024 1024 1045 1045 1045 1060 1060 1098 1098 1124 1124 1124 1176 1184 1199 1199 1215 1215 1215 1261 1261 1301 1301 1344 1344 1344 1438 1438 1483 1483 1564 1564 1564 1681 1681 1753 1753 1836 1836 1836 1966 1966 2050 2050 2110 2110 2110 2370 2370 2568 2568 2696 2696 2696 2995 2995 3190 3190 3377 3377 3377 3623 3623 3811 3811 4038 4038 4038 4325 4410 4517 4567 4665 4756 4825 4888 4910 5045 5135 5135 5319 5383 5437 5477 5567 5616 5725 5725 5872 5914 5951 6018 6066 6142 6207 6256 6304 6351 6428 6534 6610 6610 6712 6745 6790 6842 6904 6955 7005 7050 7084 7127 7162 7190 7236 7288 7338 7382 7382 7446 7466 7519 7560 7577 7602 7633 7669 7699 7756 7806 7821 7875 7919 7983 8049 8117 8166 8192 8249 8308 8348 8348 8489 8586 8586 8586 8682 8818 8868 8946 9038 9083 9083 9194 9308 9379 9416 9499 9549 9596 9638 9716 9779 9837 9885 9937 9972 10017 10070 10137 10172 10206 10251 10275 10312 10352 10391 10427 10463 10503 10538 10555 10583 10610 10645 10672 10699 10712 10739 10775 10799 10822 10849 10866 10889 10908 10948 10976 10998 11019 11042 11069
4 NaN Angola -11.203 17.874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 4 4 5 7 7 7 8 8 8 10 14 16 17 19 19 19 19 19 19 19 19 19 19 24 24 24 24 25 25 25 25 26 27 27 27 27 30 35 35 35 36 36 36 43 43 45 45 45 45 48 48 48 48 50 52 52 58 60 61 69 70 70 71 74 81 84 86 86 86 86 86 86 88 91 92 96 113 118 130 138 140 142 148 155 166 172 176 183 186 189 197 212 212 259 267 276 284 291 315 328 346 346 346 386 386 396 458 462 506 525 541 576 607 638 687 705 749 779 812 851 880 916 932 950 1000 1078 1109 1148 1164 1199 1280 1344 1395 1483 1538 1572 1672 1679 1735 1762 1815 1852 1879 1906 1935 1966 2015 2044 2068 2134 2171 2222 2283 2332 2415 2471 2551 2624 2654 2729 2777 2805 2876 2935 2965 2981 3033 3092 3217 3279 3335 3388 3439 3569 3675 3789 3848 3901 3991 4117 4236 4363 4475 4590 4672 4718 4797 4905 4972 5114 5211 5370 5402 5530 5725 5725 5958 6031 6246 6366 6488 6680 6846 7096 7222 7462 7622 7829 8049 8338 8582 8829 9026 9381 9644 9871 10074 10269 10558 10805 11035 11228 11577 11813 12102 12223 12335 12433 12680 12816 12953 13053 13228 13374 13451 13615 13818 13922 14134 14267 14413 14493 14634 14742 14821 14920 15008 15087 15103 15139 15251 15319 15361 15493 15536 15591 15648 15729 15804 15925 16061 16161 16188 16277 16362 16407 16484 16562 16626 16644 16686 16802 16931 17029 17099 17149 17240 17296 17371 17433 17553 17568 17608 17642 17684 17756 17864 17974 18066 18156 18193 18254 18343 18425 18613 18679 18765 18875 18926 19011 19093 19177 19269 19367 19399 19476 19553 19580 19672 19723 19782 19796 19829 19900 19937 19996 20030 20062 20086 20112 20163 20210 20261 20294 20329 20366 20381 20389 20400 20452 20478 20499 20519 20548 20584 20640 20695 20759 20782 20807 20854 20882 20923 20981 21026 21055 21086 21108
In [4]:
COVID_DEATHS_URL = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv'

covid_deaths = pd.read_csv(COVID_DEATHS_URL)

print(covid_confirmed.shape)

covid_deaths.head()
(274, 416)
Out[4]:
Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 1/31/20 2/1/20 2/2/20 2/3/20 2/4/20 2/5/20 2/6/20 2/7/20 2/8/20 2/9/20 2/10/20 2/11/20 2/12/20 2/13/20 2/14/20 2/15/20 2/16/20 2/17/20 2/18/20 2/19/20 2/20/20 2/21/20 2/22/20 2/23/20 2/24/20 2/25/20 2/26/20 2/27/20 2/28/20 2/29/20 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 3/18/20 3/19/20 3/20/20 3/21/20 3/22/20 3/23/20 3/24/20 3/25/20 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 4/2/20 4/3/20 4/4/20 4/5/20 4/6/20 4/7/20 4/8/20 4/9/20 4/10/20 4/11/20 4/12/20 4/13/20 4/14/20 4/15/20 4/16/20 4/17/20 4/18/20 4/19/20 4/20/20 4/21/20 4/22/20 4/23/20 4/24/20 4/25/20 4/26/20 4/27/20 4/28/20 4/29/20 4/30/20 5/1/20 5/2/20 5/3/20 5/4/20 5/5/20 5/6/20 5/7/20 5/8/20 5/9/20 5/10/20 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 5/29/20 5/30/20 5/31/20 6/1/20 6/2/20 6/3/20 6/4/20 6/5/20 6/6/20 6/7/20 6/8/20 6/9/20 6/10/20 6/11/20 6/12/20 6/13/20 6/14/20 6/15/20 6/16/20 6/17/20 6/18/20 6/19/20 6/20/20 6/21/20 6/22/20 6/23/20 6/24/20 6/25/20 6/26/20 6/27/20 6/28/20 6/29/20 6/30/20 7/1/20 7/2/20 7/3/20 7/4/20 7/5/20 7/6/20 7/7/20 7/8/20 7/9/20 7/10/20 7/11/20 7/12/20 7/13/20 7/14/20 7/15/20 7/16/20 7/17/20 7/18/20 7/19/20 7/20/20 7/21/20 7/22/20 7/23/20 7/24/20 7/25/20 7/26/20 7/27/20 7/28/20 7/29/20 7/30/20 7/31/20 8/1/20 8/2/20 8/3/20 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20 8/14/20 8/15/20 8/16/20 8/17/20 8/18/20 8/19/20 8/20/20 8/21/20 8/22/20 8/23/20 8/24/20 8/25/20 8/26/20 8/27/20 8/28/20 8/29/20 8/30/20 8/31/20 9/1/20 9/2/20 9/3/20 9/4/20 9/5/20 9/6/20 9/7/20 9/8/20 9/9/20 9/10/20 9/11/20 9/12/20 9/13/20 9/14/20 9/15/20 9/16/20 9/17/20 9/18/20 9/19/20 9/20/20 9/21/20 9/22/20 9/23/20 9/24/20 9/25/20 9/26/20 9/27/20 9/28/20 9/29/20 9/30/20 10/1/20 10/2/20 10/3/20 10/4/20 10/5/20 10/6/20 10/7/20 10/8/20 10/9/20 10/10/20 10/11/20 10/12/20 10/13/20 10/14/20 10/15/20 10/16/20 10/17/20 10/18/20 10/19/20 10/20/20 10/21/20 10/22/20 10/23/20 10/24/20 10/25/20 10/26/20 10/27/20 10/28/20 10/29/20 10/30/20 10/31/20 11/1/20 11/2/20 11/3/20 11/4/20 11/5/20 11/6/20 11/7/20 11/8/20 11/9/20 11/10/20 11/11/20 11/12/20 11/13/20 11/14/20 11/15/20 11/16/20 11/17/20 11/18/20 11/19/20 11/20/20 11/21/20 11/22/20 11/23/20 11/24/20 11/25/20 11/26/20 11/27/20 11/28/20 11/29/20 11/30/20 12/1/20 12/2/20 12/3/20 12/4/20 12/5/20 12/6/20 12/7/20 12/8/20 12/9/20 12/10/20 12/11/20 12/12/20 12/13/20 12/14/20 12/15/20 12/16/20 12/17/20 12/18/20 12/19/20 12/20/20 12/21/20 12/22/20 12/23/20 12/24/20 12/25/20 12/26/20 12/27/20 12/28/20 12/29/20 12/30/20 12/31/20 1/1/21 1/2/21 1/3/21 1/4/21 1/5/21 1/6/21 1/7/21 1/8/21 1/9/21 1/10/21 1/11/21 1/12/21 1/13/21 1/14/21 1/15/21 1/16/21 1/17/21 1/18/21 1/19/21 1/20/21 1/21/21 1/22/21 1/23/21 1/24/21 1/25/21 1/26/21 1/27/21 1/28/21 1/29/21 1/30/21 1/31/21 2/1/21 2/2/21 2/3/21 2/4/21 2/5/21 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 2/16/21 2/17/21 2/18/21 2/19/21 2/20/21 2/21/21 2/22/21 2/23/21 2/24/21 2/25/21 2/26/21 2/27/21 2/28/21 3/1/21 3/2/21 3/3/21 3/4/21 3/5/21 3/6/21 3/7/21 3/8/21
0 NaN Afghanistan 33.939 67.710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 3 4 4 4 4 4 4 8 10 12 15 16 16 17 18 18 19 22 23 29 30 30 30 33 36 36 40 40 43 47 52 58 59 61 64 68 72 85 90 95 104 106 109 115 120 122 127 132 136 153 168 170 173 178 188 194 206 217 219 220 221 228 236 247 250 258 266 274 298 304 313 331 361 373 388 409 430 450 455 475 482 495 508 550 552 573 585 597 617 638 674 682 716 728 740 752 780 809 821 828 866 900 922 939 959 973 996 1012 1040 1064 1096 1117 1149 1166 1183 1185 1188 1192 1213 1227 1249 1261 1271 1272 1273 1283 1284 1285 1286 1290 1290 1296 1301 1310 1315 1321 1329 1346 1356 1365 1370 1371 1376 1378 1382 1384 1386 1386 1386 1388 1390 1398 1402 1402 1403 1403 1403 1403 1407 1410 1410 1410 1410 1413 1416 1419 1421 1421 1421 1421 1421 1427 1428 1438 1438 1439 1439 1443 1446 1447 1448 1453 1453 1455 1455 1458 1460 1460 1460 1460 1464 1464 1468 1469 1471 1472 1474 1475 1479 1481 1482 1483 1483 1487 1490 1494 1499 1501 1503 1507 1509 1513 1516 1520 1525 1531 1534 1535 1538 1538 1544 1547 1551 1557 1557 1559 1565 1577 1580 1584 1594 1598 1608 1620 1635 1641 1648 1653 1666 1678 1690 1702 1715 1728 1737 1740 1752 1774 1795 1822 1841 1846 1846 1864 1874 1900 1906 1919 1935 1945 1956 1965 1969 1995 2011 2025 2030 2047 2067 2082 2096 2117 2126 2139 2149 2160 2174 2179 2181 2191 2191 2191 2191 2237 2244 2244 2253 2257 2264 2277 2288 2301 2301 2314 2324 2336 2339 2343 2346 2354 2363 2370 2373 2378 2385 2389 2389 2397 2399 2400 2400 2404 2405 2406 2407 2407 2408 2410 2413 2414 2418 2419 2424 2427 2427 2427 2428 2428 2430 2430 2430 2432 2433 2435 2436 2438 2442 2443 2443 2444 2446 2446 2446 2449 2449 2449 2451
1 NaN Albania 41.153 20.168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 4 5 5 6 8 10 10 11 15 15 16 17 20 20 21 22 22 23 23 23 23 23 24 25 26 26 26 26 26 26 27 27 27 27 28 28 30 30 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 32 32 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 35 36 36 36 36 37 38 39 42 43 44 44 45 47 49 51 53 55 58 62 65 69 72 74 76 79 81 83 83 85 89 93 95 97 101 104 107 111 112 113 117 120 123 128 134 138 144 148 150 154 157 161 166 172 176 182 188 189 193 199 200 205 208 213 219 225 228 230 232 234 238 240 245 250 254 259 263 266 271 275 280 284 290 296 301 306 312 316 319 321 322 324 327 330 334 338 340 343 347 353 358 362 364 367 370 370 373 375 377 380 384 387 388 389 392 396 400 403 407 411 413 416 420 424 429 434 439 443 448 451 454 458 462 465 469 473 477 480 487 493 499 502 509 518 527 532 536 543 549 557 559 571 579 590 598 605 612 623 631 637 646 657 672 685 699 716 735 743 753 771 787 798 810 822 839 852 870 889 905 922 936 951 965 977 989 1003 1016 1028 1040 1055 1066 1074 1088 1098 1111 1117 1125 1134 1143 1153 1164 1170 1174 1181 1181 1190 1193 1199 1210 1217 1223 1230 1233 1241 1247 1252 1256 1261 1265 1270 1277 1281 1287 1291 1296 1303 1310 1315 1324 1332 1339 1350 1358 1369 1380 1393 1398 1404 1418 1433 1446 1460 1472 1488 1503 1517 1531 1543 1555 1567 1582 1600 1617 1636 1653 1666 1681 1696 1715 1736 1756 1775 1796 1816 1835 1856 1876 1897 1918 1939 1956
2 NaN Algeria 28.034 1.660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 4 4 7 9 11 15 17 17 19 21 25 26 29 31 35 44 58 86 105 130 152 173 193 205 235 256 275 293 313 326 336 348 364 367 375 384 392 402 407 415 419 425 432 437 444 450 453 459 463 465 470 476 483 488 494 502 507 515 522 529 536 542 548 555 561 568 575 582 592 600 609 617 623 630 638 646 653 661 667 673 681 690 698 707 715 724 732 741 751 760 767 777 788 799 811 825 837 845 852 861 869 878 885 892 897 905 912 920 928 937 946 952 959 968 978 988 996 1004 1011 1018 1028 1040 1052 1057 1068 1078 1087 1100 1111 1124 1136 1146 1155 1163 1174 1186 1200 1210 1223 1231 1239 1248 1261 1273 1282 1293 1302 1312 1322 1333 1341 1351 1360 1370 1379 1391 1402 1411 1418 1424 1435 1446 1456 1465 1475 1483 1491 1501 1510 1518 1523 1529 1539 1549 1556 1562 1571 1581 1591 1599 1605 1612 1620 1632 1645 1654 1659 1665 1672 1679 1689 1698 1703 1707 1711 1714 1719 1726 1736 1741 1749 1756 1760 1768 1768 1771 1783 1789 1795 1801 1809 1818 1827 1827 1841 1846 1856 1865 1873 1880 1888 1897 1907 1914 1922 1931 1941 1949 1956 1964 1973 1980 1980 1999 2011 2024 2036 2048 2062 2077 2093 2111 2124 2139 2154 2168 2186 2206 2224 2236 2255 2272 2294 2309 2329 2352 2372 2393 2410 2431 2447 2464 2480 2492 2501 2516 2527 2539 2554 2564 2575 2584 2596 2609 2623 2631 2640 2647 2659 2666 2675 2687 2696 2705 2716 2722 2728 2737 2745 2751 2756 2762 2769 2772 2777 2782 2786 2792 2798 2803 2807 2812 2816 2819 2822 2827 2831 2836 2840 2843 2849 2853 2856 2861 2863 2866 2871 2877 2881 2884 2888 2891 2894 2898 2900 2904 2909 2909 2914 2918 2924 2926 2930 2932 2935 2939 2943 2945 2947 2950 2954 2958 2961 2964 2967 2970 2973 2977 2979 2983 2987 2991 2996 3002 3007 3010 3013 3018
3 NaN Andorra 42.506 1.522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 3 3 3 6 8 12 14 15 16 17 18 21 22 23 25 26 26 29 29 31 33 33 35 35 36 37 37 37 37 40 40 40 40 41 42 42 43 44 45 45 46 46 47 47 48 48 48 48 49 49 49 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 54 55 55 55 57 57 59 59 59 59 59 62 62 63 63 69 69 69 72 72 72 73 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 77 77 78 78 78 78 78 78 78 78 79 79 79 79 79 80 80 81 81 82 82 83 83 83 83 83 84 84 84 84 84 84 84 84 84 84 84 85 85 85 86 87 88 88 91 91 91 92 92 93 93 96 96 97 97 98 100 100 101 101 101 102 103 103 104 105 106 106 106 106 106 106 107 107 107 107 107 107 107 107 107 109 110 110 110 110 110 110 110 110 112 112 112 112 112 112
4 NaN Angola -11.203 17.874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 6 6 6 6 7 8 8 9 9 10 10 10 10 10 10 11 11 13 15 17 18 19 19 19 21 21 22 23 23 26 26 26 27 28 29 29 29 29 30 33 33 35 39 40 41 47 48 51 52 54 55 58 59 62 64 67 70 75 78 80 80 80 86 86 88 88 90 92 93 94 94 96 100 102 103 105 106 107 107 108 109 112 113 115 117 117 120 124 126 130 131 132 134 136 139 143 144 147 147 152 154 155 159 162 167 171 174 176 179 183 185 189 193 195 199 211 211 208 212 218 218 219 222 227 228 234 241 247 248 251 255 260 265 267 268 270 271 275 275 279 284 286 289 291 296 299 300 303 307 308 308 312 315 317 322 322 324 328 332 333 334 336 337 337 338 340 341 342 345 346 348 350 351 352 353 354 354 354 355 358 362 365 366 371 372 372 379 382 384 386 387 390 393 393 393 396 399 399 403 403 405 405 405 407 408 408 410 413 413 415 416 416 420 422 424 425 428 431 436 439 442 444 448 452 457 459 461 462 462 464 464 464 466 466 468 470 473 474 475 475 475 478 487 487 490 491 492 493 494 496 498 498 498 499 499 500 501 502 504 506 508 508 510 510 511 511 512 514 515
In [5]:
COVID_RECOVERED_URL = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv'

covid_recovered = pd.read_csv(COVID_RECOVERED_URL)

print(covid_recovered.shape)

covid_recovered.head()
(259, 416)
Out[5]:
Province/State Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 1/31/20 2/1/20 2/2/20 2/3/20 2/4/20 2/5/20 2/6/20 2/7/20 2/8/20 2/9/20 2/10/20 2/11/20 2/12/20 2/13/20 2/14/20 2/15/20 2/16/20 2/17/20 2/18/20 2/19/20 2/20/20 2/21/20 2/22/20 2/23/20 2/24/20 2/25/20 2/26/20 2/27/20 2/28/20 2/29/20 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 3/18/20 3/19/20 3/20/20 3/21/20 3/22/20 3/23/20 3/24/20 3/25/20 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 4/2/20 4/3/20 4/4/20 4/5/20 4/6/20 4/7/20 4/8/20 4/9/20 4/10/20 4/11/20 4/12/20 4/13/20 4/14/20 4/15/20 4/16/20 4/17/20 4/18/20 4/19/20 4/20/20 4/21/20 4/22/20 4/23/20 4/24/20 4/25/20 4/26/20 4/27/20 4/28/20 4/29/20 4/30/20 5/1/20 5/2/20 5/3/20 5/4/20 5/5/20 5/6/20 5/7/20 5/8/20 5/9/20 5/10/20 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 5/29/20 5/30/20 5/31/20 6/1/20 6/2/20 6/3/20 6/4/20 6/5/20 6/6/20 6/7/20 6/8/20 6/9/20 6/10/20 6/11/20 6/12/20 6/13/20 6/14/20 6/15/20 6/16/20 6/17/20 6/18/20 6/19/20 6/20/20 6/21/20 6/22/20 6/23/20 6/24/20 6/25/20 6/26/20 6/27/20 6/28/20 6/29/20 6/30/20 7/1/20 7/2/20 7/3/20 7/4/20 7/5/20 7/6/20 7/7/20 7/8/20 7/9/20 7/10/20 7/11/20 7/12/20 7/13/20 7/14/20 7/15/20 7/16/20 7/17/20 7/18/20 7/19/20 7/20/20 7/21/20 7/22/20 7/23/20 7/24/20 7/25/20 7/26/20 7/27/20 7/28/20 7/29/20 7/30/20 7/31/20 8/1/20 8/2/20 8/3/20 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20 8/14/20 8/15/20 8/16/20 8/17/20 8/18/20 8/19/20 8/20/20 8/21/20 8/22/20 8/23/20 8/24/20 8/25/20 8/26/20 8/27/20 8/28/20 8/29/20 8/30/20 8/31/20 9/1/20 9/2/20 9/3/20 9/4/20 9/5/20 9/6/20 9/7/20 9/8/20 9/9/20 9/10/20 9/11/20 9/12/20 9/13/20 9/14/20 9/15/20 9/16/20 9/17/20 9/18/20 9/19/20 9/20/20 9/21/20 9/22/20 9/23/20 9/24/20 9/25/20 9/26/20 9/27/20 9/28/20 9/29/20 9/30/20 10/1/20 10/2/20 10/3/20 10/4/20 10/5/20 10/6/20 10/7/20 10/8/20 10/9/20 10/10/20 10/11/20 10/12/20 10/13/20 10/14/20 10/15/20 10/16/20 10/17/20 10/18/20 10/19/20 10/20/20 10/21/20 10/22/20 10/23/20 10/24/20 10/25/20 10/26/20 10/27/20 10/28/20 10/29/20 10/30/20 10/31/20 11/1/20 11/2/20 11/3/20 11/4/20 11/5/20 11/6/20 11/7/20 11/8/20 11/9/20 11/10/20 11/11/20 11/12/20 11/13/20 11/14/20 11/15/20 11/16/20 11/17/20 11/18/20 11/19/20 11/20/20 11/21/20 11/22/20 11/23/20 11/24/20 11/25/20 11/26/20 11/27/20 11/28/20 11/29/20 11/30/20 12/1/20 12/2/20 12/3/20 12/4/20 12/5/20 12/6/20 12/7/20 12/8/20 12/9/20 12/10/20 12/11/20 12/12/20 12/13/20 12/14/20 12/15/20 12/16/20 12/17/20 12/18/20 12/19/20 12/20/20 12/21/20 12/22/20 12/23/20 12/24/20 12/25/20 12/26/20 12/27/20 12/28/20 12/29/20 12/30/20 12/31/20 1/1/21 1/2/21 1/3/21 1/4/21 1/5/21 1/6/21 1/7/21 1/8/21 1/9/21 1/10/21 1/11/21 1/12/21 1/13/21 1/14/21 1/15/21 1/16/21 1/17/21 1/18/21 1/19/21 1/20/21 1/21/21 1/22/21 1/23/21 1/24/21 1/25/21 1/26/21 1/27/21 1/28/21 1/29/21 1/30/21 1/31/21 2/1/21 2/2/21 2/3/21 2/4/21 2/5/21 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 2/16/21 2/17/21 2/18/21 2/19/21 2/20/21 2/21/21 2/22/21 2/23/21 2/24/21 2/25/21 2/26/21 2/27/21 2/28/21 3/1/21 3/2/21 3/3/21 3/4/21 3/5/21 3/6/21 3/7/21 3/8/21
0 NaN Afghanistan 33.939 67.710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 5 5 10 10 10 15 18 18 29 32 32 32 32 32 40 43 54 99 112 131 135 150 166 179 188 188 207 220 228 252 260 310 331 345 397 421 458 468 472 502 558 558 610 648 691 745 745 778 801 850 930 938 996 1040 1075 1097 1128 1138 1209 1259 1303 1328 1428 1450 1522 1585 1762 1830 1875 2171 2651 3013 3326 3928 4201 4725 5164 5508 6158 7660 7962 8292 8764 8841 9260 9869 10174 10306 10674 12604 13934 14131 15651 16041 17331 19164 19366 20103 20179 20700 20847 20882 21135 21216 21254 21454 22456 22824 23151 23273 23634 23741 23741 23924 24550 24602 24793 25180 25198 25358 25389 25471 25509 25509 25510 25669 25669 25742 25840 25903 25960 25960 26228 26415 26694 26714 26714 27166 27166 27166 27166 27166 27681 28016 28016 28180 28360 28440 29042 29046 29059 29063 29089 29089 29231 29315 29390 29713 30082 30537 30557 30715 31048 31129 31154 31234 31638 32073 32098 32503 32505 32576 32576 32576 32576 32576 32610 32619 32619 32635 32642 32642 32746 32789 32842 32842 32842 32852 32879 32977 33045 33058 33058 33064 33114 33118 33308 33354 33447 33516 33561 33614 33760 33790 33824 33831 34010 34023 34129 34150 34217 34237 34239 34258 34321 34326 34342 34355 34362 34440 34440 34446 34458 34721 34954 34967 35024 35036 35067 35092 35137 35160 35295 35350 35370 35422 35934 35976 36122 36145 36232 36295 36709 36716 36831 36946 37218 37260 37260 37393 37685 37879 37920 38032 38099 38141 38200 38250 38252 38336 38475 38505 38540 38613 39006 39508 39585 39692 40359 40444 40784 41096 41441 41543 41612 41727 41727 41727 41727 42530 42666 42666 43291 43440 43740 43948 44137 44608 44850 45298 45434 45465 45868 46359 46554 46759 46887 46912 46943 47298 47365 47459 47549 47583 47606 47609 47679 47723 47798 47982 47995 48018 48027 48041 48042 48109 48133 48279 48390 48392 48395 48433 48514 48626 48798 48803 48820 48834 48895 48967 49086 49281 49285 49288 49333 49344 49347 49359 49362 49362 49369 49378 49402
1 NaN Albania 41.153 20.168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 10 17 17 31 31 33 44 52 67 76 89 99 104 116 131 154 165 182 197 217 232 248 251 277 283 302 314 327 345 356 385 394 403 410 422 431 455 470 488 519 531 543 570 595 605 620 627 650 654 682 688 694 705 714 715 727 742 758 771 777 783 789 795 803 812 823 851 857 872 877 891 898 898 910 925 938 945 960 980 1001 1034 1039 1044 1055 1064 1077 1086 1114 1126 1134 1159 1195 1217 1250 1298 1346 1384 1438 1459 1516 1559 1592 1637 1657 1702 1744 1791 1832 1875 1881 1946 2014 2062 2091 2137 2214 2264 2311 2352 2397 2463 2523 2608 2637 2682 2745 2789 2830 2883 2952 2961 3018 3031 3031 3123 3155 3227 3268 3342 3379 3480 3552 3616 3695 3746 3794 3816 3871 3928 3986 4096 4184 4332 4413 4530 4633 4791 4923 5020 5139 5214 5441 5582 5732 5882 5976 6106 6186 6239 6284 6346 6443 6494 6569 6615 6668 6733 6788 6831 6888 6940 6995 7042 7139 7239 7309 7397 7397 7629 7732 7847 8077 8342 8536 8675 8825 8965 9115 9215 9304 9406 9500 9585 9675 9762 9864 9957 10001 10071 10167 10225 10341 10395 10466 10548 10654 10705 10808 10893 11007 11097 11189 11246 11367 11473 11578 11696 11861 12002 12092 12203 12353 12493 12574 12667 12767 12889 13453 13804 14216 14565 15055 15469 15842 16230 16666 17031 17352 17755 18152 18481 18849 19384 19912 20484 20974 21286 21617 22180 22527 23072 23609 24136 24520 24820 24820 25876 26381 26898 27426 27831 28121 28752 29249 29799 30276 30790 31181 31565 32122 32700 33185 33634 33634 34353 34648 34996 35551 36102 36535 36971 37327 37648 37981 38421 38860 39246 39625 40090 40453 40870 41464 41969 42426 42895 43384 43890 44291 44880 45383 45906 46420 46927 47424 47922 48377 48958 49543 50219 50875 51444 52128 52933 53616 54362 55243 55983 56764 57736 58794 59684 60675 61605 62533 63329 64318 65403 66309 67158 68007 68969 69773 70413 71173 72076 72853 73610 74352 75190 75887
2 NaN Algeria 28.034 1.660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 12 12 12 12 12 32 32 32 65 65 24 65 29 29 31 31 37 46 61 61 62 90 90 90 113 237 347 405 460 591 601 691 708 783 846 894 1047 1099 1152 1204 1355 1408 1479 1508 1558 1651 1702 1779 1821 1872 1936 1998 2067 2197 2323 2467 2546 2678 2841 2998 3058 3158 3271 3409 3507 3625 3746 3968 4062 4256 4426 4784 4747 4918 5129 5277 5422 5549 5748 5894 6067 6218 6297 6453 6631 6717 6799 6951 7074 7255 7322 7420 7606 7735 7842 7943 8078 8196 8324 8422 8559 8674 8792 8920 9066 9202 9371 9674 9897 10040 10342 10832 11181 11492 11884 12094 12329 12637 13124 13124 13743 14019 14295 14792 15107 15430 15744 16051 16400 16646 16983 17369 17369 18076 18088 18837 19233 19592 20082 20537 20988 21419 21901 22375 22802 23238 23667 24083 24506 24920 25263 25627 26004 26308 26644 27017 27347 27653 27971 28281 28587 28874 29142 29369 29587 29886 30157 30436 30717 30978 31244 31493 31746 32006 32259 32481 32745 32985 33183 33379 33562 33723 33875 34037 34204 34385 34517 34675 34818 34923 35047 35180 35307 35428 35544 35654 35756 35860 35962 36063 36174 36282 36385 36482 36578 36672 36763 36857 36958 37067 37170 37170 37382 37492 37603 37603 37856 37971 38088 38215 38346 38482 38618 38788 38932 39095 39273 39444 39635 39635 40014 40201 40395 40577 40577 41001 41244 41510 41783 42037 42325 42626 42980 42980 43779 44199 44633 45148 45148 46326 46962 47581 48183 48794 49421 50070 50712 51334 51946 52568 53204 53809 54405 54990 55538 56079 56617 57146 57648 58146 58146 59135 59590 60028 60457 60888 61307 61700 62089 62487 62869 63260 63644 64020 64401 64777 65144 65505 65862 66214 66550 66855 67127 67395 67611 67808 67999 68185 68383 68589 68802 69011 69212 69403 69608 69791 69992 70188 70373 70554 70747 70933 71127 71343 71552 71755 71945 72143 72336 72538 72745 72956 73152 73344 73530 73732 73940 74136 74330 74330 74692 74871 75057 75243 75436 75628 75816 75999 76168 76330 76489 76640 76797 76940 77076 77225 77382 77537 77683 77842 77976 78098 78234 78377 78524 78672 78824 78946 79064 79187
3 NaN Andorra 42.506 1.522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 10 10 10 16 21 26 31 39 52 58 71 71 128 128 128 169 169 191 205 235 248 282 309 333 344 344 344 385 398 423 468 468 472 493 499 514 521 526 537 545 550 550 568 576 596 604 615 617 624 628 639 639 652 653 653 663 676 676 681 684 692 694 698 733 735 738 741 741 744 751 757 759 780 781 781 781 789 789 791 792 792 792 792 796 797 797 797 799 799 799 799 799 799 800 800 800 800 800 800 802 802 803 803 803 803 803 803 803 803 803 803 803 803 803 803 803 803 803 803 803 804 806 807 807 807 821 825 825 828 839 839 839 839 839 855 858 863 863 863 869 869 875 875 875 875 875 877 877 893 893 902 902 902 908 908 909 909 928 928 928 934 934 938 938 943 943 943 945 945 1054 1054 1164 1164 1164 1199 1199 1203 1203 1263 1263 1263 1265 1265 1432 1432 1540 1540 1540 1615 1615 1715 1715 1814 1814 1814 1928 1928 2011 2011 2057 2057 2057 2273 2273 2470 2470 2729 2729 2729 2957 3029 3144 3260 3377 3475 3475 3548 3627 3734 3858 3858 4043 4248 4332 4405 4488 4585 4675 4675 4747 4830 4965 5055 5127 5239 5290 5358 5405 5503 5542 5649 5710 5710 5794 5873 5940 5988 6066 6130 6171 6238 6293 6367 6452 6505 6598 6629 6629 6706 6706 6819 6875 6919 6963 6997 7028 7073 7106 7171 7203 7252 7288 7318 7360 7384 7432 7463 7463 7517 7548 7585 7615 7615 7724 7724 7724 7724 7930 8070 8091 8116 8116 8154 8154 8349 8399 8474 8537 8588 8652 8724 8774 8851 8942 8986 9045 9093 9206 9252 9313 9395 9444 9492 9533 9610 9674 9732 9781 9833 9868 9911 9965 10022 10066 10101 10146 10170 10206 10245 10285 10319 10356 10394 10429 10446 10475 10501 10560 10564 10584 10599 10626 10661
4 NaN Angola -11.203 17.874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 7 7 11 11 11 11 11 11 11 11 13 13 13 13 14 14 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 21 24 24 38 38 40 41 42 61 61 64 64 64 64 66 66 77 77 77 77 81 81 81 81 93 93 97 97 107 108 108 108 117 117 117 117 118 118 118 118 124 124 199 210 221 221 221 221 236 241 242 242 242 266 301 395 437 460 461 476 503 506 520 544 564 567 569 575 577 577 584 628 628 632 667 698 742 804 814 818 877 977 977 1335 1028 1041 1063 1071 1084 1115 1144 1167 1192 1198 1215 1215 1245 1277 1288 1289 1301 1324 1332 1401 1405 1443 1445 1445 1449 1462 1473 1503 1554 1639 1707 1813 1833 1941 2082 2215 2436 2577 2591 2598 2598 2635 2685 2716 2743 2744 2761 2801 2928 3012 3022 3030 3031 3037 3040 3305 3384 3461 3508 3530 3647 3693 3736 4107 4523 4920 5172 5230 5266 5350 5626 5647 5899 5927 6036 6125 6250 6326 6345 6444 6523 6582 6623 7062 7117 7273 7346 7351 7444 7517 7617 7697 7763 7763 7851 7932 8139 8244 8299 8335 8338 8353 8470 8579 8679 8798 8841 8898 8924 8990 9194 9266 9345 9518 9592 9695 9729 9729 9729 9921 9976 10354 10354 10627 10859 11044 11146 11189 11223 11266 11376 11477 11955 12712 13205 13872 14825 15512 15631 16008 16120 16225 16347 16677 16822 16921 17176 17223 17249 17266 17327 17388 17602 17692 17918 18015 18035 18180 18232 18335 18381 18431 18475 18540 18596 18623 18687 18710 18786 18790 18795 18884 18929 18951 18972 18991 19005 19013 19190 19207 19221 19238 19307 19315 19322 19400 19410 19509 19553 19624 19640 19647 19657

You can learn how to read other type of files using Pandas on our Reading Data with Pandas and Python course!

We are using DataFrames to store our data. A pandas DataFrame is two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes (rows and columns).

So far we have all our datasets loaded, let's analyze them!

green-divider

Step 2: Cleaning our data

Another important step before diving into data analysis is cleaning the data.

As the data is already really clean, we'll just replace Mainland china with just China, and fill some missing values.

You can learn more on data cleaning on our Data Cleaning with pandas course!

In [6]:
covid_confirmed['Country/Region'].replace('Mainland China', 'China', inplace=True)
covid_deaths['Country/Region'].replace('Mainland China', 'China', inplace=True)
covid_recovered['Country/Region'].replace('Mainland China', 'China', inplace=True)
In [7]:
covid_confirmed[['Province/State']] = covid_confirmed[['Province/State']].fillna('')
covid_confirmed.fillna(0, inplace=True)

covid_deaths[['Province/State']] = covid_deaths[['Province/State']].fillna('')
covid_deaths.fillna(0, inplace=True)

covid_recovered[['Province/State']] = covid_recovered[['Province/State']].fillna('')
covid_recovered.fillna(0, inplace=True)

Let's check null/empty values before continue:

In [8]:
covid_confirmed.isna().sum().sum()
Out[8]:
0
In [9]:
covid_deaths.isna().sum().sum()
Out[9]:
0
In [10]:
covid_recovered.isna().sum().sum()
Out[10]:
0

green-divider

Step 3 & 4: Analysis (worldwide impact) and Data Wrangling

With the data loaded, we will start by aggregating all the cases so we can quickly see what's going on in the world.

To do that we'll use the pandas Python library.

pandas is the most popular Python library for Data Science. You can learn data analysis fundamentals using pandas on our Intro to Pandas for Data Analysis course!

In [11]:
covid_confirmed_count = covid_confirmed.iloc[:, 4:].sum().max()

covid_confirmed_count
Out[11]:
117148248
In [12]:
covid_deaths_count = covid_deaths.iloc[:, 4:].sum().max()

covid_deaths_count
Out[12]:
2600063
In [13]:
covid_recovered_count = covid_recovered.iloc[:, 4:].sum().max()

covid_recovered_count
Out[13]:
66358917

Store that values on a DataFrame, and calculate a new active cases value with the following formula:

$$ Active = Confirmed - Deaths - Recovered $$
In [14]:
world_df = pd.DataFrame({
    'confirmed': [covid_confirmed_count],
    'deaths': [covid_deaths_count],
    'recovered': [covid_recovered_count],
    'active': [covid_confirmed_count - covid_deaths_count - covid_recovered_count]
})

world_df
Out[14]:
confirmed deaths recovered active
0 117148248 2600063 66358917 48189268
In [15]:
world_long_df = world_df.melt(value_vars=['active', 'deaths', 'recovered'],
                              var_name="status",
                              value_name="count")

world_long_df['upper'] = 'confirmed'

world_long_df
Out[15]:
status count upper
0 active 48189268 confirmed
1 deaths 2600063 confirmed
2 recovered 66358917 confirmed
In [18]:
fig = px.treemap(world_long_df, path=["upper", "status"], values="count",
                 color_discrete_sequence=['#3498db', '#2ecc71', '#e74c3c'],
                 title='Total COVID-19 worldwide cases',
                 template='plotly_dark')

fig.data[0].textinfo = 'label+text+value'

fig.show()

We see that less than half of the cases are still active!

green-divider

Worldwide over the time evolution analysis

Let's make a more convenient plot showing how these cases increased day by day.

As we want to analyze daily worldwide aggregated values, let's remove unused columns (Province/State, Country/Region, Lat, Long) and aggregate the columns we need (all the other columns):

In [16]:
covid_worldwide_confirmed = covid_confirmed.iloc[:, 4:].sum(axis=0)
covid_worldwide_confirmed.index = pd.to_datetime(covid_worldwide_confirmed.index)
covid_worldwide_confirmed /= 1_000_000

covid_worldwide_confirmed.tail()
Out[16]:
2021-03-03   115.167
2021-03-04   115.620
2021-03-05   116.066
2021-03-06   116.476
2021-03-07   116.844
dtype: float64
In [17]:
covid_worldwide_deaths = covid_deaths.iloc[:, 4:].sum(axis=0)
covid_worldwide_deaths.index = pd.to_datetime(covid_worldwide_deaths.index)
covid_worldwide_deaths /= 1_000_000

covid_worldwide_deaths.tail()
Out[17]:
2021-03-03   2.560
2021-03-04   2.570
2021-03-05   2.580
2021-03-06   2.588
2021-03-07   2.593
dtype: float64
In [18]:
covid_worldwide_recovered = covid_recovered.iloc[:, 4:].sum(axis=0)
covid_worldwide_recovered.index = pd.to_datetime(covid_worldwide_recovered.index)
covid_worldwide_recovered /= 1_000_000

covid_worldwide_recovered.tail()
Out[18]:
2021-03-03   65.133
2021-03-04   65.383
2021-03-05   65.610
2021-03-06   65.846
2021-03-07   66.132
dtype: float64

Also, we can calculate active cases again:

In [19]:
covid_worldwide_active = covid_worldwide_confirmed - covid_worldwide_deaths - covid_worldwide_recovered
covid_worldwide_active.index = pd.to_datetime(covid_worldwide_active.index)

covid_worldwide_active.tail()
Out[19]:
2021-03-03   47.473
2021-03-04   47.666
2021-03-05   47.876
2021-03-06   48.042
2021-03-07   48.118
dtype: float64
In [20]:
fig, ax = plt.subplots(figsize=(16, 6))

sns.lineplot(x=covid_worldwide_confirmed.index, y=covid_worldwide_confirmed, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_deaths.index, y=covid_worldwide_deaths, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_recovered.index, y=covid_worldwide_recovered, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_active.index, y=covid_worldwide_active, sort=False, linewidth=2)

ax.lines[0].set_linestyle("--")

plt.suptitle("COVID-19 worldwide cases over the time evolution", fontsize=16, fontweight='bold', color='white')

plt.xticks(rotation=45)
plt.ylabel('Number of cases [million]')

ax.legend(['Confirmed', 'Deaths', 'Recovered', 'Active'])

plt.show()

Let's resample the data so we can show the dates properly:

In [21]:
fig, ax = plt.subplots(figsize=(16, 6))
ax.set(yscale="log")
ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda y, _: '{:g}'.format(y)))

sns.lineplot(x=covid_worldwide_confirmed.index, y=covid_worldwide_confirmed, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_deaths.index, y=covid_worldwide_deaths, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_recovered.index, y=covid_worldwide_recovered, sort=False, linewidth=2)
sns.lineplot(x=covid_worldwide_active.index, y=covid_worldwide_active, sort=False, linewidth=2)

ax.lines[0].set_linestyle("--")

plt.suptitle("COVID-19 worldwide cases over the time", fontsize=16, fontweight='bold', color='white')
plt.title("(logarithmic scale)", color='white')

plt.xticks(rotation=45)
plt.ylabel('Number of cases [million]')

ax.legend(['Confirmed', 'Deaths', 'Recovered', 'Active'])

plt.show()

green-divider

Recovery and mortality rate over time

In [22]:
world_rate_df = pd.DataFrame({
    'confirmed': covid_worldwide_confirmed,
    'deaths': covid_worldwide_deaths,
    'recovered': covid_worldwide_recovered,
    'active': covid_worldwide_active
}, index=covid_worldwide_confirmed.index)

world_rate_df.tail()
Out[22]:
confirmed deaths recovered active
2021-03-03 115.167 2.560 65.133 47.473
2021-03-04 115.620 2.570 65.383 47.666
2021-03-05 116.066 2.580 65.610 47.876
2021-03-06 116.476 2.588 65.846 48.042
2021-03-07 116.844 2.593 66.132 48.118
In [23]:
world_rate_df['recovered / 100 confirmed'] = world_rate_df['recovered'] / world_rate_df['confirmed'] * 100

world_rate_df['deaths / 100 confirmed'] = world_rate_df['deaths'] / world_rate_df['confirmed'] * 100

world_rate_df['date'] = world_rate_df.index

world_rate_df.tail()
Out[23]:
confirmed deaths recovered active recovered / 100 confirmed deaths / 100 confirmed date
2021-03-03 115.167 2.560 65.133 47.473 56.555 2.223 2021-03-03
2021-03-04 115.620 2.570 65.383 47.666 56.550 2.223 2021-03-04
2021-03-05 116.066 2.580 65.610 47.876 56.528 2.223 2021-03-05
2021-03-06 116.476 2.588 65.846 48.042 56.532 2.222 2021-03-06
2021-03-07 116.844 2.593 66.132 48.118 56.599 2.219 2021-03-07
In [24]:
world_rate_long_df = world_rate_df.melt(id_vars="date",
                                        value_vars=['recovered / 100 confirmed', 'deaths / 100 confirmed'],
                                        var_name="status",
                                        value_name="ratio")

world_rate_long_df
Out[24]:
date status ratio
0 2020-01-22 recovered / 100 confirmed 5.386
1 2020-01-23 recovered / 100 confirmed 4.885
2 2020-01-24 recovered / 100 confirmed 4.145
3 2020-01-25 recovered / 100 confirmed 2.931
4 2020-01-26 recovered / 100 confirmed 2.644
... ... ... ...
817 2021-03-03 deaths / 100 confirmed 2.223
818 2021-03-04 deaths / 100 confirmed 2.223
819 2021-03-05 deaths / 100 confirmed 2.223
820 2021-03-06 deaths / 100 confirmed 2.222
821 2021-03-07 deaths / 100 confirmed 2.219

822 rows × 3 columns

In [25]:
fig = px.line(world_rate_long_df, x="date", y="ratio", color='status', log_y=True, 
              title='Recovery and Mortality rate over the time',
              color_discrete_sequence=['#2ecc71', '#e74c3c'],
              template='plotly_dark')

fig.show()

green-divider

Visualizing worldwide COVID-19 cases in a map

We'll now create a small animation showing COVID-19 confirmed cases through the days.

You can learn these advance Pandas topics in detail on our Data Wrangling course!

Hands on! Let's group rows with the same value at the Country/Region column, so we can aggregate all the values from each country in a single aggregated value. We'll use the sum() method to count all the values from the same country.

In [26]:
covid_confirmed_agg = covid_confirmed.groupby('Country/Region').sum().reset_index()

As there could be many Provinces/States within the same country, we'll calculate the mean latitude and longitude for each country.

In [27]:
covid_confirmed_agg.loc[:, ['Lat', 'Long']] = covid_confirmed.groupby('Country/Region').mean().reset_index().loc[:, ['Lat', 'Long']]
In [28]:
covid_confirmed_agg
Out[28]:
Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 1/31/20 2/1/20 2/2/20 2/3/20 2/4/20 2/5/20 2/6/20 2/7/20 2/8/20 2/9/20 2/10/20 2/11/20 2/12/20 2/13/20 2/14/20 2/15/20 2/16/20 2/17/20 2/18/20 2/19/20 2/20/20 2/21/20 2/22/20 2/23/20 2/24/20 2/25/20 2/26/20 2/27/20 2/28/20 2/29/20 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 3/18/20 3/19/20 3/20/20 3/21/20 3/22/20 3/23/20 3/24/20 3/25/20 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 4/2/20 4/3/20 4/4/20 4/5/20 4/6/20 4/7/20 4/8/20 4/9/20 4/10/20 4/11/20 4/12/20 4/13/20 4/14/20 4/15/20 4/16/20 4/17/20 4/18/20 4/19/20 4/20/20 4/21/20 4/22/20 4/23/20 4/24/20 4/25/20 4/26/20 4/27/20 4/28/20 4/29/20 4/30/20 5/1/20 5/2/20 5/3/20 5/4/20 5/5/20 5/6/20 5/7/20 5/8/20 5/9/20 5/10/20 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 5/29/20 5/30/20 5/31/20 6/1/20 6/2/20 6/3/20 6/4/20 6/5/20 6/6/20 6/7/20 6/8/20 6/9/20 6/10/20 6/11/20 6/12/20 6/13/20 6/14/20 6/15/20 6/16/20 6/17/20 6/18/20 6/19/20 6/20/20 6/21/20 6/22/20 6/23/20 6/24/20 6/25/20 6/26/20 6/27/20 6/28/20 6/29/20 6/30/20 7/1/20 7/2/20 7/3/20 7/4/20 7/5/20 7/6/20 7/7/20 7/8/20 7/9/20 7/10/20 7/11/20 7/12/20 7/13/20 7/14/20 7/15/20 7/16/20 7/17/20 7/18/20 7/19/20 7/20/20 7/21/20 7/22/20 7/23/20 7/24/20 7/25/20 7/26/20 7/27/20 7/28/20 7/29/20 7/30/20 7/31/20 8/1/20 8/2/20 8/3/20 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20 8/14/20 8/15/20 8/16/20 8/17/20 8/18/20 8/19/20 8/20/20 8/21/20 8/22/20 8/23/20 8/24/20 8/25/20 8/26/20 8/27/20 8/28/20 8/29/20 8/30/20 8/31/20 9/1/20 9/2/20 9/3/20 9/4/20 9/5/20 9/6/20 9/7/20 9/8/20 9/9/20 9/10/20 9/11/20 9/12/20 9/13/20 9/14/20 9/15/20 9/16/20 9/17/20 9/18/20 9/19/20 9/20/20 9/21/20 9/22/20 9/23/20 9/24/20 9/25/20 9/26/20 9/27/20 9/28/20 9/29/20 9/30/20 10/1/20 10/2/20 10/3/20 10/4/20 10/5/20 10/6/20 10/7/20 10/8/20 10/9/20 10/10/20 10/11/20 10/12/20 10/13/20 10/14/20 10/15/20 10/16/20 10/17/20 10/18/20 10/19/20 10/20/20 10/21/20 10/22/20 10/23/20 10/24/20 10/25/20 10/26/20 10/27/20 10/28/20 10/29/20 10/30/20 10/31/20 11/1/20 11/2/20 11/3/20 11/4/20 11/5/20 11/6/20 11/7/20 11/8/20 11/9/20 11/10/20 11/11/20 11/12/20 11/13/20 11/14/20 11/15/20 11/16/20 11/17/20 11/18/20 11/19/20 11/20/20 11/21/20 11/22/20 11/23/20 11/24/20 11/25/20 11/26/20 11/27/20 11/28/20 11/29/20 11/30/20 12/1/20 12/2/20 12/3/20 12/4/20 12/5/20 12/6/20 12/7/20 12/8/20 12/9/20 12/10/20 12/11/20 12/12/20 12/13/20 12/14/20 12/15/20 12/16/20 12/17/20 12/18/20 12/19/20 12/20/20 12/21/20 12/22/20 12/23/20 12/24/20 12/25/20 12/26/20 12/27/20 12/28/20 12/29/20 12/30/20 12/31/20 1/1/21 1/2/21 1/3/21 1/4/21 1/5/21 1/6/21 1/7/21 1/8/21 1/9/21 1/10/21 1/11/21 1/12/21 1/13/21 1/14/21 1/15/21 1/16/21 1/17/21 1/18/21 1/19/21 1/20/21 1/21/21 1/22/21 1/23/21 1/24/21 1/25/21 1/26/21 1/27/21 1/28/21 1/29/21 1/30/21 1/31/21 2/1/21 2/2/21 2/3/21 2/4/21 2/5/21 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 2/16/21 2/17/21 2/18/21 2/19/21 2/20/21 2/21/21 2/22/21 2/23/21 2/24/21 2/25/21 2/26/21 2/27/21 2/28/21 3/1/21 3/2/21 3/3/21 3/4/21 3/5/21 3/6/21 3/7/21
0 Afghanistan 33.939 67.710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 4 4 4 4 5 7 8 11 12 13 15 16 18 20 24 25 29 30 34 41 43 76 80 91 107 118 146 175 197 240 275 300 338 368 424 445 485 532 556 608 666 715 785 841 907 934 997 1027 1093 1177 1236 1331 1464 1532 1704 1830 1940 2127 2291 2470 2705 2895 3225 3393 3564 3781 4042 4403 4687 4968 5227 5640 6054 6403 6665 7073 7654 8146 8677 9219 10001 10585 11176 11834 12459 13039 13662 14528 15208 15753 16512 17270 18057 18972 19554 20345 20920 21462 22146 22894 23550 24106 24770 25531 26314 26878 27536 27882 28428 28837 29147 29471 29705 30165 30441 30606 30957 31228 31507 31826 32012 32314 32662 32941 33180 33374 33584 33898 34184 34356 34441 34595 34730 34984 35060 35219 35279 35453 35493 35605 35717 35918 35978 36026 36147 36253 36358 36463 36532 36665 36700 36701 36737 36773 36820 36928 37006 37046 37083 37153 37260 37336 37422 37497 37542 37590 37667 37710 37750 37852 37885 37944 37990 38045 38061 38103 38119 38130 38133 38155 38159 38193 38243 38288 38304 38324 38398 38494 38520 38544 38572 38606 38641 38716 38772 38815 38855 38872 38897 38919 39044 39074 39096 39145 39170 39186 39192 39227 39239 39254 39268 39285 39290 39297 39341 39422 39486 39548 39616 39693 39703 39799 39870 39928 39994 40026 40088 40141 40200 40287 40369 40510 40626 40687 40768 40833 40937 41032 41145 41268 41334 41425 41501 41633 41728 41814 41935 41975 42033 42159 42297 42463 42609 42795 42969 43035 43240 43468 43681 43924 44177 44363 44503 44706 44988 45174 45384 45600 45723 45844 46116 46274 46516 46718 46837 46837 47072 47306 47516 47716 47851 48053 48116 48229 48527 48718 48952 49161 49378 49621 49681 49817 50013 50190 50433 50655 50810 50886 51039 51280 51350 51405 51526 51526 51526 51526 53011 53105 53105 53207 53332 53400 53489 53538 53584 53584 53775 53831 53938 53984 54062 54141 54278 54403 54483 54559 54595 54672 54750 54854 54891 54939 55008 55023 55059 55121 55174 55231 55265 55330 55335 55359 55384 55402 55420 55445 55473 55492 55514 55518 55540 55557 55575 55580 55604 55617 55646 55664 55680 55696 55707 55714 55733 55759 55770 55775 55827 55840 55847
1 Albania 41.153 20.168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 10 12 23 33 38 42 51 55 59 64 70 76 89 104 123 146 174 186 197 212 223 243 259 277 304 333 361 377 383 400 409 416 433 446 467 475 494 518 539 548 562 584 609 634 663 678 712 726 736 750 766 773 782 789 795 803 820 832 842 850 856 868 872 876 880 898 916 933 946 948 949 964 969 981 989 998 1004 1029 1050 1076 1099 1122 1137 1143 1164 1184 1197 1212 1232 1246 1263 1299 1341 1385 1416 1464 1521 1590 1672 1722 1788 1838 1891 1962 1995 2047 2114 2192 2269 2330 2402 2466 2535 2580 2662 2752 2819 2893 2964 3038 3106 3188 3278 3371 3454 3571 3667 3752 3851 3906 4008 4090 4171 4290 4358 4466 4570 4637 4763 4880 4997 5105 5197 5276 5396 5519 5620 5750 5889 6016 6151 6275 6411 6536 6676 6817 6971 7117 7260 7380 7499 7654 7812 7967 8119 8275 8427 8605 8759 8927 9083 9195 9279 9380 9513 9606 9728 9844 9967 10102 10255 10406 10553 10704 10860 11021 11185 11353 11520 11672 11816 11948 12073 12226 12385 12535 12666 12787 12921 13045 13153 13259 13391 13518 13649 13806 13965 14117 14266 14410 14568 14730 14899 15066 15231 15399 15570 15752 15955 16212 16501 16774 17055 17350 17651 17948 18250 18556 18858 19157 19445 19729 20040 20315 20634 20875 21202 21523 21904 22300 22721 23210 23705 24206 24731 25294 25801 26211 26701 27233 27830 28432 29126 29837 30623 31459 32196 32761 33556 34300 34944 35600 36245 36790 37625 38182 39014 39719 40501 41302 42148 42988 43683 44436 45188 46061 46863 47742 48530 49191 50000 50637 51424 52004 52542 53003 53425 53814 54317 54827 55380 55755 56254 56572 57146 57727 58316 58316 58991 59438 59623 60283 61008 61705 62378 63033 63595 63971 64627 65334 65994 66635 67216 67690 67982 68568 69238 69916 70655 71441 72274 72812 73691 74567 75454 76350 77251 78127 78992 79934 80941 81993 83082 84212 85336 86289 87528 88671 89776 90835 91987 93075 93850 94651 95726 96838 97909 99062 100246 101285 102306 103327 104313 105229 106215 107167 107931 108823 109674 110521 111301 112078 112897
2 Algeria 28.034 1.660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 3 5 12 12 17 17 19 20 20 20 24 26 37 48 54 60 74 87 90 139 201 230 264 302 367 409 454 511 584 716 847 986 1171 1251 1320 1423 1468 1572 1666 1761 1825 1914 1983 2070 2160 2268 2418 2534 2629 2718 2811 2910 3007 3127 3256 3382 3517 3649 3848 4006 4154 4295 4474 4648 4838 4997 5182 5369 5558 5723 5891 6067 6253 6442 6629 6821 7019 7201 7377 7542 7728 7918 8113 8306 8503 8697 8857 8997 9134 9267 9394 9513 9626 9733 9831 9935 10050 10154 10265 10382 10484 10589 10698 10810 10919 11031 11147 11268 11385 11504 11631 11771 11920 12076 12248 12445 12685 12968 13273 13571 13907 14272 14657 15070 15500 15941 16404 16879 17348 17808 18242 18712 19195 19689 20216 20770 21355 21948 22549 23084 23691 24278 24872 25484 26159 26764 27357 27973 28615 29229 29831 30394 30950 31465 31972 32504 33055 33626 34155 34693 35160 35712 36204 36699 37187 37664 38133 38583 39025 39444 39847 40258 40667 41068 41460 41858 42228 42619 43016 43403 43781 44146 44494 44833 45158 45469 45773 46071 46364 46653 46938 47216 47488 47752 48007 48254 48496 48734 48966 49194 49413 49623 49826 50023 50214 50400 50579 50754 50914 51067 51213 51368 51530 51690 51847 51995 52136 52270 52399 52520 52658 52804 52940 53072 53325 53399 53584 53777 53998 54203 54402 54616 54829 55081 55357 55630 55880 56143 56419 56706 57026 57332 57651 57942 58272 58574 58979 59527 60169 60800 61381 62051 62693 63446 64257 65108 65975 66819 67679 68589 69591 70629 71652 72755 73774 74862 75867 77000 78025 79110 80168 81212 82221 83199 84152 85084 85927 86730 87502 88252 88825 89416 90014 90579 91121 91638 92102 92597 93065 93507 93933 94371 94781 95203 95659 96069 96549 97007 97441 97857 98249 98631 98988 99311 99610 99897 100159 100408 100645 100873 101120 101382 101657 101913 102144 102369 102641 102860 103127 103381 103611 103833 104092 104341 104606 104852 105124 105369 105596 105854 106097 106359 106610 106887 107122 107339 107578 107841 108116 108381 108629 108629 109088 109313 109559 109782 110049 110303 110513 110711 110894 111069 111247 111418 111600 111764 111917 112094 112279 112461 112622 112805 112960 113092 113255 113430 113593 113761 113948 114104 114234
3 Andorra 42.506 1.522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 39 39 53 75 88 113 133 164 188 224 267 308 334 370 376 390 428 439 466 501 525 545 564 583 601 601 638 646 659 673 673 696 704 713 717 717 723 723 731 738 738 743 743 743 745 745 747 748 750 751 751 752 752 754 755 755 758 760 761 761 761 761 761 761 762 762 762 762 762 763 763 763 763 764 764 764 765 844 851 852 852 852 852 852 852 852 852 853 853 853 853 854 854 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 858 861 862 877 880 880 880 884 884 889 889 897 897 897 907 907 918 922 925 925 925 937 939 939 944 955 955 955 963 963 977 981 989 989 989 1005 1005 1024 1024 1045 1045 1045 1060 1060 1098 1098 1124 1124 1124 1176 1184 1199 1199 1215 1215 1215 1261 1261 1301 1301 1344 1344 1344 1438 1438 1483 1483 1564 1564 1564 1681 1681 1753 1753 1836 1836 1836 1966 1966 2050 2050 2110 2110 2110 2370 2370 2568 2568 2696 2696 2696 2995 2995 3190 3190 3377 3377 3377 3623 3623 3811 3811 4038 4038 4038 4325 4410 4517 4567 4665 4756 4825 4888 4910 5045 5135 5135 5319 5383 5437 5477 5567 5616 5725 5725 5872 5914 5951 6018 6066 6142 6207 6256 6304 6351 6428 6534 6610 6610 6712 6745 6790 6842 6904 6955 7005 7050 7084 7127 7162 7190 7236 7288 7338 7382 7382 7446 7466 7519 7560 7577 7602 7633 7669 7699 7756 7806 7821 7875 7919 7983 8049 8117 8166 8192 8249 8308 8348 8348 8489 8586 8586 8586 8682 8818 8868 8946 9038 9083 9083 9194 9308 9379 9416 9499 9549 9596 9638 9716 9779 9837 9885 9937 9972 10017 10070 10137 10172 10206 10251 10275 10312 10352 10391 10427 10463 10503 10538 10555 10583 10610 10645 10672 10699 10712 10739 10775 10799 10822 10849 10866 10889 10908 10948 10976 10998 11019 11042
4 Angola -11.203 17.874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 4 4 5 7 7 7 8 8 8 10 14 16 17 19 19 19 19 19 19 19 19 19 19 24 24 24 24 25 25 25 25 26 27 27 27 27 30 35 35 35 36 36 36 43 43 45 45 45 45 48 48 48 48 50 52 52 58 60 61 69 70 70 71 74 81 84 86 86 86 86 86 86 88 91 92 96 113 118 130 138 140 142 148 155 166 172 176 183 186 189 197 212 212 259 267 276 284 291 315 328 346 346 346 386 386 396 458 462 506 525 541 576 607 638 687 705 749 779 812 851 880 916 932 950 1000 1078 1109 1148 1164 1199 1280 1344 1395 1483 1538 1572 1672 1679 1735 1762 1815 1852 1879 1906 1935 1966 2015 2044 2068 2134 2171 2222 2283 2332 2415 2471 2551 2624 2654 2729 2777 2805 2876 2935 2965 2981 3033 3092 3217 3279 3335 3388 3439 3569 3675 3789 3848 3901 3991 4117 4236 4363 4475 4590 4672 4718 4797 4905 4972 5114 5211 5370 5402 5530 5725 5725 5958 6031 6246 6366 6488 6680 6846 7096 7222 7462 7622 7829 8049 8338 8582 8829 9026 9381 9644 9871 10074 10269 10558 10805 11035 11228 11577 11813 12102 12223 12335 12433 12680 12816 12953 13053 13228 13374 13451 13615 13818 13922 14134 14267 14413 14493 14634 14742 14821 14920 15008 15087 15103 15139 15251 15319 15361 15493 15536 15591 15648 15729 15804 15925 16061 16161 16188 16277 16362 16407 16484 16562 16626 16644 16686 16802 16931 17029 17099 17149 17240 17296 17371 17433 17553 17568 17608 17642 17684 17756 17864 17974 18066 18156 18193 18254 18343 18425 18613 18679 18765 18875 18926 19011 19093 19177 19269 19367 19399 19476 19553 19580 19672 19723 19782 19796 19829 19900 19937 19996 20030 20062 20086 20112 20163 20210 20261 20294 20329 20366 20381 20389 20400 20452 20478 20499 20519 20548 20584 20640 20695 20759 20782 20807 20854 20882 20923 20981 21026 21055 21086
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
187 Vietnam 14.058 108.277 0 2 2 2 2 2 2 2 2 2 6 6 8 8 8 10 10 13 13 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 18 30 30 31 38 39 47 53 56 61 66 75 85 91 94 113 123 134 141 153 163 174 188 203 212 218 233 237 240 241 245 249 251 255 257 258 262 265 266 267 268 268 268 268 268 268 268 268 270 270 270 270 270 270 270 270 270 271 271 271 271 288 288 288 288 288 288 288 312 314 318 320 324 324 324 324 324 325 325 326 327 327 327 328 328 328 328 328 328 328 328 329 331 332 332 332 332 333 334 334 334 334 335 342 349 349 349 349 349 352 352 353 355 355 355 355 355 355 355 355 355 369 369 369 369 370 370 372 373 373 381 381 382 382 383 384 401 408 412 415 417 420 431 446 459 509 558 590 621 652 672 717 750 789 812 841 847 866 883 911 930 951 964 983 989 994 1007 1009 1014 1016 1022 1029 1034 1036 1038 1040 1040 1044 1044 1046 1046 1049 1049 1049 1049 1054 1059 1059 1060 1060 1063 1063 1063 1063 1066 1068 1068 1068 1068 1068 1069 1069 1069 1069 1074 1077 1094 1094 1095 1096 1096 1096 1097 1098 1099 1100 1105 1107 1109 1110 1113 1122 1124 1124 1126 1134 1140 1141 1144 1148 1148 1160 1168 1169 1172 1173 1177 1177 1180 1180 1192 1202 1203 1207 1212 1213 1213 1215 1226 1252 1253 1256 1265 1281 1283 1288 1300 1304 1305 1306 1307 1312 1316 1321 1331 1339 1341 1343 1347 1351 1358 1361 1361 1365 1366 1367 1377 1381 1385 1391 1395 1397 1402 1405 1405 1407 1410 1411 1413 1414 1420 1421 1432 1439 1440 1441 1451 1454 1456 1465 1474 1482 1494 1497 1504 1505 1509 1512 1513 1514 1515 1520 1521 1531 1536 1537 1537 1539 1540 1544 1546 1548 1548 1548 1549 1551 1553 1651 1657 1767 1817 1850 1882 1948 1957 1976 1985 2001 2050 2064 2091 2140 2142 2195 2228 2269 2311 2329 2347 2362 2368 2383 2392 2403 2412 2421 2426 2432 2448 2448 2475 2482 2488 2494 2501 2512
188 West Bank and Gaza 31.952 35.233 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7 16 16 19 26 30 30 31 35 38 38 39 41 44 47 48 52 59 59 59 84 91 98 109 116 119 134 161 194 217 237 254 261 263 263 267 268 271 273 284 291 294 307 313 319 329 329 335 336 340 342 342 342 343 344 344 353 353 353 362 371 374 375 375 375 375 375 375 375 375 375 376 381 388 391 398 423 423 423 423 423 429 434 446 446 447 448 449 451 457 464 464 464 472 473 481 485 487 489 489 492 505 514 555 600 675 784 833 1001 1169 1328 1382 1557 1815 1990 2185 2428 2758 3080 3334 3835 4277 4341 4647 5029 5220 5551 5931 6230 6566 6764 7064 7412 7764 8204 8549 8916 9228 9398 9744 10093 10306 10469 10621 10938 11284 11548 11837 12160 12297 12541 12770 13065 13398 13722 13928 14208 14510 14875 15184 15491 15834 16153 16534 16844 17306 17606 17989 18313 18476 18802 19213 19678 20155 20677 21251 21668 22204 22729 23281 23875 24471 25142 25575 26127 26779 27363 27919 28664 29256 29906 30574 31362 32250 33006 33843 34401 35003 35686 36151 36580 37083 37591 37963 38253 38703 39121 39541 39899 40322 40766 41078 41498 41957 42432 42840 43256 43664 43945 44299 44684 45200 45658 46100 46434 46746 47135 47616 48129 48628 49134 49579 49989 50442 50952 51528 51948 52571 53075 53520 54060 54775 55408 56090 56672 57226 57657 58158 58838 59422 60065 60784 61514 62167 63031 63867 64935 66186 67296 68768 70254 71644 73196 75007 76727 78493 80429 81890 83585 85647 88004 90192 92708 94676 96098 98038 99758 101109 102992 104879 106622 108099 109738 111102 113409 115606 117755 119612 121216 122643 123945 125506 127376 129080 130598 131904 133093 134310 135459 136736 138004 139223 140287 141219 142228 143169 144257 145252 146074 146701 147400 148171 148968 149769 150505 151142 151569 152031 152555 153093 153590 154063 154557 155006 155414 155884 156393 156996 157593 158168 158559 158962 159443 159956 160426 161087 161559 162029 162601 163213 163975 164736 165535 166200 166800 167604 168444 169487 170527 171154 171717 172315 173635 174969 176377 177768 179293 180848 181909 183612 185336 187309 189326 191203 193029 194548 196812
189 Yemen 15.553 48.516 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 6 7 10 10 12 21 25 25 34 34 51 56 65 70 85 106 122 128 130 167 180 193 205 212 222 233 249 255 278 283 310 323 354 399 419 453 469 482 484 496 524 560 591 632 705 728 844 885 902 909 919 922 941 967 992 1015 1076 1089 1103 1118 1128 1158 1190 1221 1240 1248 1265 1290 1297 1318 1356 1380 1389 1465 1498 1516 1526 1552 1576 1581 1606 1619 1629 1640 1654 1674 1674 1681 1691 1703 1711 1726 1728 1730 1734 1734 1760 1763 1768 1796 1797 1804 1832 1831 1841 1847 1858 1858 1869 1869 1889 1892 1899 1906 1907 1911 1916 1924 1930 1933 1943 1946 1953 1958 1962 1976 1979 1983 1983 1987 1989 1994 1999 2003 2007 2009 2011 2013 2016 2019 2022 2024 2026 2026 2028 2028 2029 2029 2029 2030 2030 2031 2031 2034 2039 2040 2041 2041 2041 2047 2049 2050 2051 2051 2052 2052 2053 2053 2053 2055 2055 2056 2056 2057 2057 2057 2060 2060 2060 2060 2060 2061 2062 2062 2063 2063 2063 2063 2063 2063 2063 2063 2063 2063 2063 2063 2068 2068 2068 2068 2068 2068 2068 2068 2069 2069 2069 2072 2073 2073 2074 2074 2074 2077 2077 2077 2077 2077 2077 2077 2078 2078 2079 2079 2081 2082 2083 2083 2084 2085 2085 2087 2087 2087 2087 2087 2087 2087 2092 2092 2092 2094 2096 2096 2097 2099 2101 2101 2101 2101 2101 2102 2104 2104 2104 2104 2105 2107 2109 2110 2111 2112 2112 2113 2115 2115 2115 2118 2118 2118 2118 2119 2120 2120 2120 2120 2121 2122 2122 2122 2122 2124 2127 2127 2131 2131 2133 2134 2136 2136 2145 2145 2148 2151 2154 2157 2157 2165 2176 2187 2221 2255 2267 2269 2285 2310 2342 2363 2375 2411 2444 2473
190 Zambia -13.134 27.849 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 3 3 3 12 16 22 28 29 35 35 36 39 39 39 39 39 39 39 39 40 40 43 45 45 48 48 52 57 61 65 70 74 76 84 84 88 88 95 97 106 109 119 124 137 138 146 153 167 252 267 267 441 446 654 654 679 753 761 772 832 866 920 920 920 920 920 1057 1057 1057 1057 1057 1089 1089 1089 1089 1089 1089 1089 1200 1200 1200 1200 1321 1357 1358 1382 1405 1412 1416 1430 1430 1430 1430 1477 1489 1497 1531 1531 1557 1568 1594 1632 1632 1632 1632 1632 1632 1895 1895 1895 1895 1895 1895 1895 1895 1895 1895 2810 2980 2980 3326 3386 3583 3789 3856 4328 4481 4552 5002 5249 5555 5963 6228 6347 6580 6793 7022 7164 7486 7903 8085 8210 8275 8501 8663 9021 9186 9343 9839 9981 10218 10372 10627 10831 11082 11148 11285 11376 11601 11779 11902 12025 12097 12381 12415 12523 12639 12709 12776 12836 12952 13112 13214 13323 13466 13539 13720 13819 13887 13928 14022 14070 14131 14175 14389 14443 14491 14515 14612 14641 14660 14715 14759 14802 14830 14974 15052 15089 15170 15224 15301 15339 15415 15458 15549 15587 15616 15659 15659 15789 15853 15897 15982 16000 16035 16095 16117 16117 16200 16243 16285 16325 16415 16432 16480 16543 16661 16698 16770 16819 16908 16954 16971 16997 17036 17056 17093 17097 17123 17187 17243 17280 17350 17373 17394 17424 17454 17466 17535 17553 17569 17589 17608 17647 17665 17700 17730 17857 17898 17916 17931 17963 18062 18091 18161 18217 18274 18322 18428 18456 18504 18575 18620 18716 18768 18881 19122 19234 19571 19671 19834 19943 20177 20462 20725 20997 21230 21582 21993 22645 23495 24297 25326 26567 27728 28596 29757 31100 32800 34278 36074 37605 38207 39515 40949 42213 43333 44592 45337 46146 47622 48911 50319 51624 53352 54217 55042 56233 57489 59003 60427 61427 62633 63573 64610 65573 66598 67681 68454 69437 70248 70823 71677 72467 73203 73894 74503 75027 75582 76484 77171 77639 78202 78534 79002 79557 80090 80687 81341 82011 82421
191 Zimbabwe -19.015 29.155 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 3 3 3 3 5 7 7 7 8 8 9 9 9 9 10 11 11 11 13 14 14 17 17 23 23 24 25 25 25 28 28 28 29 31 31 32 32 32 40 40 34 34 34 34 34 34 34 35 36 36 36 37 37 42 42 44 46 46 48 51 51 56 56 56 56 132 149 149 174 178 203 206 222 237 265 279 282 287 314 320 332 343 356 383 387 391 401 463 479 479 489 512 525 530 551 561 567 567 574 591 605 617 625 698 716 734 787 885 885 942 982 985 1034 1064 1089 1362 1420 1478 1611 1713 1820 2034 2124 2296 2434 2512 2704 2817 2879 3092 3169 3659 3921 4075 4221 4221 4339 4451 4575 4649 4748 4818 4893 4990 5072 5176 5261 5308 5378 5643 5745 5815 5893 5930 6070 6196 6251 6292 6388 6406 6412 6497 6559 6638 6678 6837 6837 6837 7298 7388 7429 7453 7479 7508 7526 7531 7576 7598 7633 7647 7672 7683 7683 7711 7725 7752 7787 7803 7812 7816 7837 7838 7850 7858 7885 7888 7898 7915 7919 7951 7994 8010 8011 8021 8036 8055 8075 8099 8110 8147 8159 8187 8215 8242 8257 8269 8276 8303 8315 8320 8349 8362 8367 8374 8389 8410 8427 8444 8471 8498 8531 8561 8610 8667 8696 8765 8786 8829 8897 8945 8981 9046 9120 9172 9220 9308 9398 9508 9623 9714 9822 9822 9950 10129 10129 10424 10547 10617 10718 10839 10912 11007 11081 11162 11219 11246 11358 11522 11749 11866 12047 12151 12325 12422 12544 12656 12786 12880 12963 13077 13148 13325 13625 13867 14084 14491 15265 15829 17194 17804 18675 19660 20499 21477 22297 23239 24256 25368 26109 26881 27203 27892 28675 29408 30047 30523 31007 31320 31646 32004 32304 32646 32952 33273 33388 33548 33814 33964 34171 34331 34487 34552 34658 34781 34864 34864 35045 35104 35172 35222 35315 35423 35543 35710 35768 35796 35862 35910 35960 35994 36044 36058 36089 36115 36148 36179 36223 36248 36260 36271

192 rows × 414 columns

Our data is now ready, but in a wrong format, so we'll need to transform our data from wide to long format, to do that we'll use the melt() pandas method.

In [29]:
print(covid_confirmed_agg.shape)

covid_confirmed_agg.head()
(192, 414)
Out[29]:
Country/Region Lat Long 1/22/20 1/23/20 1/24/20 1/25/20 1/26/20 1/27/20 1/28/20 1/29/20 1/30/20 1/31/20 2/1/20 2/2/20 2/3/20 2/4/20 2/5/20 2/6/20 2/7/20 2/8/20 2/9/20 2/10/20 2/11/20 2/12/20 2/13/20 2/14/20 2/15/20 2/16/20 2/17/20 2/18/20 2/19/20 2/20/20 2/21/20 2/22/20 2/23/20 2/24/20 2/25/20 2/26/20 2/27/20 2/28/20 2/29/20 3/1/20 3/2/20 3/3/20 3/4/20 3/5/20 3/6/20 3/7/20 3/8/20 3/9/20 3/10/20 3/11/20 3/12/20 3/13/20 3/14/20 3/15/20 3/16/20 3/17/20 3/18/20 3/19/20 3/20/20 3/21/20 3/22/20 3/23/20 3/24/20 3/25/20 3/26/20 3/27/20 3/28/20 3/29/20 3/30/20 3/31/20 4/1/20 4/2/20 4/3/20 4/4/20 4/5/20 4/6/20 4/7/20 4/8/20 4/9/20 4/10/20 4/11/20 4/12/20 4/13/20 4/14/20 4/15/20 4/16/20 4/17/20 4/18/20 4/19/20 4/20/20 4/21/20 4/22/20 4/23/20 4/24/20 4/25/20 4/26/20 4/27/20 4/28/20 4/29/20 4/30/20 5/1/20 5/2/20 5/3/20 5/4/20 5/5/20 5/6/20 5/7/20 5/8/20 5/9/20 5/10/20 5/11/20 5/12/20 5/13/20 5/14/20 5/15/20 5/16/20 5/17/20 5/18/20 5/19/20 5/20/20 5/21/20 5/22/20 5/23/20 5/24/20 5/25/20 5/26/20 5/27/20 5/28/20 5/29/20 5/30/20 5/31/20 6/1/20 6/2/20 6/3/20 6/4/20 6/5/20 6/6/20 6/7/20 6/8/20 6/9/20 6/10/20 6/11/20 6/12/20 6/13/20 6/14/20 6/15/20 6/16/20 6/17/20 6/18/20 6/19/20 6/20/20 6/21/20 6/22/20 6/23/20 6/24/20 6/25/20 6/26/20 6/27/20 6/28/20 6/29/20 6/30/20 7/1/20 7/2/20 7/3/20 7/4/20 7/5/20 7/6/20 7/7/20 7/8/20 7/9/20 7/10/20 7/11/20 7/12/20 7/13/20 7/14/20 7/15/20 7/16/20 7/17/20 7/18/20 7/19/20 7/20/20 7/21/20 7/22/20 7/23/20 7/24/20 7/25/20 7/26/20 7/27/20 7/28/20 7/29/20 7/30/20 7/31/20 8/1/20 8/2/20 8/3/20 8/4/20 8/5/20 8/6/20 8/7/20 8/8/20 8/9/20 8/10/20 8/11/20 8/12/20 8/13/20 8/14/20 8/15/20 8/16/20 8/17/20 8/18/20 8/19/20 8/20/20 8/21/20 8/22/20 8/23/20 8/24/20 8/25/20 8/26/20 8/27/20 8/28/20 8/29/20 8/30/20 8/31/20 9/1/20 9/2/20 9/3/20 9/4/20 9/5/20 9/6/20 9/7/20 9/8/20 9/9/20 9/10/20 9/11/20 9/12/20 9/13/20 9/14/20 9/15/20 9/16/20 9/17/20 9/18/20 9/19/20 9/20/20 9/21/20 9/22/20 9/23/20 9/24/20 9/25/20 9/26/20 9/27/20 9/28/20 9/29/20 9/30/20 10/1/20 10/2/20 10/3/20 10/4/20 10/5/20 10/6/20 10/7/20 10/8/20 10/9/20 10/10/20 10/11/20 10/12/20 10/13/20 10/14/20 10/15/20 10/16/20 10/17/20 10/18/20 10/19/20 10/20/20 10/21/20 10/22/20 10/23/20 10/24/20 10/25/20 10/26/20 10/27/20 10/28/20 10/29/20 10/30/20 10/31/20 11/1/20 11/2/20 11/3/20 11/4/20 11/5/20 11/6/20 11/7/20 11/8/20 11/9/20 11/10/20 11/11/20 11/12/20 11/13/20 11/14/20 11/15/20 11/16/20 11/17/20 11/18/20 11/19/20 11/20/20 11/21/20 11/22/20 11/23/20 11/24/20 11/25/20 11/26/20 11/27/20 11/28/20 11/29/20 11/30/20 12/1/20 12/2/20 12/3/20 12/4/20 12/5/20 12/6/20 12/7/20 12/8/20 12/9/20 12/10/20 12/11/20 12/12/20 12/13/20 12/14/20 12/15/20 12/16/20 12/17/20 12/18/20 12/19/20 12/20/20 12/21/20 12/22/20 12/23/20 12/24/20 12/25/20 12/26/20 12/27/20 12/28/20 12/29/20 12/30/20 12/31/20 1/1/21 1/2/21 1/3/21 1/4/21 1/5/21 1/6/21 1/7/21 1/8/21 1/9/21 1/10/21 1/11/21 1/12/21 1/13/21 1/14/21 1/15/21 1/16/21 1/17/21 1/18/21 1/19/21 1/20/21 1/21/21 1/22/21 1/23/21 1/24/21 1/25/21 1/26/21 1/27/21 1/28/21 1/29/21 1/30/21 1/31/21 2/1/21 2/2/21 2/3/21 2/4/21 2/5/21 2/6/21 2/7/21 2/8/21 2/9/21 2/10/21 2/11/21 2/12/21 2/13/21 2/14/21 2/15/21 2/16/21 2/17/21 2/18/21 2/19/21 2/20/21 2/21/21 2/22/21 2/23/21 2/24/21 2/25/21 2/26/21 2/27/21 2/28/21 3/1/21 3/2/21 3/3/21 3/4/21 3/5/21 3/6/21 3/7/21
0 Afghanistan 33.939 67.710 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 4 4 4 4 5 7 8 11 12 13 15 16 18 20 24 25 29 30 34 41 43 76 80 91 107 118 146 175 197 240 275 300 338 368 424 445 485 532 556 608 666 715 785 841 907 934 997 1027 1093 1177 1236 1331 1464 1532 1704 1830 1940 2127 2291 2470 2705 2895 3225 3393 3564 3781 4042 4403 4687 4968 5227 5640 6054 6403 6665 7073 7654 8146 8677 9219 10001 10585 11176 11834 12459 13039 13662 14528 15208 15753 16512 17270 18057 18972 19554 20345 20920 21462 22146 22894 23550 24106 24770 25531 26314 26878 27536 27882 28428 28837 29147 29471 29705 30165 30441 30606 30957 31228 31507 31826 32012 32314 32662 32941 33180 33374 33584 33898 34184 34356 34441 34595 34730 34984 35060 35219 35279 35453 35493 35605 35717 35918 35978 36026 36147 36253 36358 36463 36532 36665 36700 36701 36737 36773 36820 36928 37006 37046 37083 37153 37260 37336 37422 37497 37542 37590 37667 37710 37750 37852 37885 37944 37990 38045 38061 38103 38119 38130 38133 38155 38159 38193 38243 38288 38304 38324 38398 38494 38520 38544 38572 38606 38641 38716 38772 38815 38855 38872 38897 38919 39044 39074 39096 39145 39170 39186 39192 39227 39239 39254 39268 39285 39290 39297 39341 39422 39486 39548 39616 39693 39703 39799 39870 39928 39994 40026 40088 40141 40200 40287 40369 40510 40626 40687 40768 40833 40937 41032 41145 41268 41334 41425 41501 41633 41728 41814 41935 41975 42033 42159 42297 42463 42609 42795 42969 43035 43240 43468 43681 43924 44177 44363 44503 44706 44988 45174 45384 45600 45723 45844 46116 46274 46516 46718 46837 46837 47072 47306 47516 47716 47851 48053 48116 48229 48527 48718 48952 49161 49378 49621 49681 49817 50013 50190 50433 50655 50810 50886 51039 51280 51350 51405 51526 51526 51526 51526 53011 53105 53105 53207 53332 53400 53489 53538 53584 53584 53775 53831 53938 53984 54062 54141 54278 54403 54483 54559 54595 54672 54750 54854 54891 54939 55008 55023 55059 55121 55174 55231 55265 55330 55335 55359 55384 55402 55420 55445 55473 55492 55514 55518 55540 55557 55575 55580 55604 55617 55646 55664 55680 55696 55707 55714 55733 55759 55770 55775 55827 55840 55847
1 Albania 41.153 20.168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 10 12 23 33 38 42 51 55 59 64 70 76 89 104 123 146 174 186 197 212 223 243 259 277 304 333 361 377 383 400 409 416 433 446 467 475 494 518 539 548 562 584 609 634 663 678 712 726 736 750 766 773 782 789 795 803 820 832 842 850 856 868 872 876 880 898 916 933 946 948 949 964 969 981 989 998 1004 1029 1050 1076 1099 1122 1137 1143 1164 1184 1197 1212 1232 1246 1263 1299 1341 1385 1416 1464 1521 1590 1672 1722 1788 1838 1891 1962 1995 2047 2114 2192 2269 2330 2402 2466 2535 2580 2662 2752 2819 2893 2964 3038 3106 3188 3278 3371 3454 3571 3667 3752 3851 3906 4008 4090 4171 4290 4358 4466 4570 4637 4763 4880 4997 5105 5197 5276 5396 5519 5620 5750 5889 6016 6151 6275 6411 6536 6676 6817 6971 7117 7260 7380 7499 7654 7812 7967 8119 8275 8427 8605 8759 8927 9083 9195 9279 9380 9513 9606 9728 9844 9967 10102 10255 10406 10553 10704 10860 11021 11185 11353 11520 11672 11816 11948 12073 12226 12385 12535 12666 12787 12921 13045 13153 13259 13391 13518 13649 13806 13965 14117 14266 14410 14568 14730 14899 15066 15231 15399 15570 15752 15955 16212 16501 16774 17055 17350 17651 17948 18250 18556 18858 19157 19445 19729 20040 20315 20634 20875 21202 21523 21904 22300 22721 23210 23705 24206 24731 25294 25801 26211 26701 27233 27830 28432 29126 29837 30623 31459 32196 32761 33556 34300 34944 35600 36245 36790 37625 38182 39014 39719 40501 41302 42148 42988 43683 44436 45188 46061 46863 47742 48530 49191 50000 50637 51424 52004 52542 53003 53425 53814 54317 54827 55380 55755 56254 56572 57146 57727 58316 58316 58991 59438 59623 60283 61008 61705 62378 63033 63595 63971 64627 65334 65994 66635 67216 67690 67982 68568 69238 69916 70655 71441 72274 72812 73691 74567 75454 76350 77251 78127 78992 79934 80941 81993 83082 84212 85336 86289 87528 88671 89776 90835 91987 93075 93850 94651 95726 96838 97909 99062 100246 101285 102306 103327 104313 105229 106215 107167 107931 108823 109674 110521 111301 112078 112897
2 Algeria 28.034 1.660 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 3 5 12 12 17 17 19 20 20 20 24 26 37 48 54 60 74 87 90 139 201 230 264 302 367 409 454 511 584 716 847 986 1171 1251 1320 1423 1468 1572 1666 1761 1825 1914 1983 2070 2160 2268 2418 2534 2629 2718 2811 2910 3007 3127 3256 3382 3517 3649 3848 4006 4154 4295 4474 4648 4838 4997 5182 5369 5558 5723 5891 6067 6253 6442 6629 6821 7019 7201 7377 7542 7728 7918 8113 8306 8503 8697 8857 8997 9134 9267 9394 9513 9626 9733 9831 9935 10050 10154 10265 10382 10484 10589 10698 10810 10919 11031 11147 11268 11385 11504 11631 11771 11920 12076 12248 12445 12685 12968 13273 13571 13907 14272 14657 15070 15500 15941 16404 16879 17348 17808 18242 18712 19195 19689 20216 20770 21355 21948 22549 23084 23691 24278 24872 25484 26159 26764 27357 27973 28615 29229 29831 30394 30950 31465 31972 32504 33055 33626 34155 34693 35160 35712 36204 36699 37187 37664 38133 38583 39025 39444 39847 40258 40667 41068 41460 41858 42228 42619 43016 43403 43781 44146 44494 44833 45158 45469 45773 46071 46364 46653 46938 47216 47488 47752 48007 48254 48496 48734 48966 49194 49413 49623 49826 50023 50214 50400 50579 50754 50914 51067 51213 51368 51530 51690 51847 51995 52136 52270 52399 52520 52658 52804 52940 53072 53325 53399 53584 53777 53998 54203 54402 54616 54829 55081 55357 55630 55880 56143 56419 56706 57026 57332 57651 57942 58272 58574 58979 59527 60169 60800 61381 62051 62693 63446 64257 65108 65975 66819 67679 68589 69591 70629 71652 72755 73774 74862 75867 77000 78025 79110 80168 81212 82221 83199 84152 85084 85927 86730 87502 88252 88825 89416 90014 90579 91121 91638 92102 92597 93065 93507 93933 94371 94781 95203 95659 96069 96549 97007 97441 97857 98249 98631 98988 99311 99610 99897 100159 100408 100645 100873 101120 101382 101657 101913 102144 102369 102641 102860 103127 103381 103611 103833 104092 104341 104606 104852 105124 105369 105596 105854 106097 106359 106610 106887 107122 107339 107578 107841 108116 108381 108629 108629 109088 109313 109559 109782 110049 110303 110513 110711 110894 111069 111247 111418 111600 111764 111917 112094 112279 112461 112622 112805 112960 113092 113255 113430 113593 113761 113948 114104 114234
3 Andorra 42.506 1.522 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 39 39 53 75 88 113 133 164 188 224 267 308 334 370 376 390 428 439 466 501 525 545 564 583 601 601 638 646 659 673 673 696 704 713 717 717 723 723 731 738 738 743 743 743 745 745 747 748 750 751 751 752 752 754 755 755 758 760 761 761 761 761 761 761 762 762 762 762 762 763 763 763 763 764 764 764 765 844 851 852 852 852 852 852 852 852 852 853 853 853 853 854 854 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 855 858 861 862 877 880 880 880 884 884 889 889 897 897 897 907 907 918 922 925 925 925 937 939 939 944 955 955 955 963 963 977 981 989 989 989 1005 1005 1024 1024 1045 1045 1045 1060 1060 1098 1098 1124 1124 1124 1176 1184 1199 1199 1215 1215 1215 1261 1261 1301 1301 1344 1344 1344 1438 1438 1483 1483 1564 1564 1564 1681 1681 1753 1753 1836 1836 1836 1966 1966 2050 2050 2110 2110 2110 2370 2370 2568 2568 2696 2696 2696 2995 2995 3190 3190 3377 3377 3377 3623 3623 3811 3811 4038 4038 4038 4325 4410 4517 4567 4665 4756 4825 4888 4910 5045 5135 5135 5319 5383 5437 5477 5567 5616 5725 5725 5872 5914 5951 6018 6066 6142 6207 6256 6304 6351 6428 6534 6610 6610 6712 6745 6790 6842 6904 6955 7005 7050 7084 7127 7162 7190 7236 7288 7338 7382 7382 7446 7466 7519 7560 7577 7602 7633 7669 7699 7756 7806 7821 7875 7919 7983 8049 8117 8166 8192 8249 8308 8348 8348 8489 8586 8586 8586 8682 8818 8868 8946 9038 9083 9083 9194 9308 9379 9416 9499 9549 9596 9638 9716 9779 9837 9885 9937 9972 10017 10070 10137 10172 10206 10251 10275 10312 10352 10391 10427 10463 10503 10538 10555 10583 10610 10645 10672 10699 10712 10739 10775 10799 10822 10849 10866 10889 10908 10948 10976 10998 11019 11042
4 Angola -11.203 17.874 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 3 3 3 4 4 5 7 7 7 8 8 8 10 14 16 17 19 19 19 19 19 19 19 19 19 19 24 24 24 24 25 25 25 25 26 27 27 27 27 30 35 35 35 36 36 36 43 43 45 45 45 45 48 48 48 48 50 52 52 58 60 61 69 70 70 71 74 81 84 86 86 86 86 86 86 88 91 92 96 113 118 130 138 140 142 148 155 166 172 176 183 186 189 197 212 212 259 267 276 284 291 315 328 346 346 346 386 386 396 458 462 506 525 541 576 607 638 687 705 749 779 812 851 880 916 932 950 1000 1078 1109 1148 1164 1199 1280 1344 1395 1483 1538 1572 1672 1679 1735 1762 1815 1852 1879 1906 1935 1966 2015 2044 2068 2134 2171 2222 2283 2332 2415 2471 2551 2624 2654 2729 2777 2805 2876 2935 2965 2981 3033 3092 3217 3279 3335 3388 3439 3569 3675 3789 3848 3901 3991 4117 4236 4363 4475 4590 4672 4718 4797 4905 4972 5114 5211 5370 5402 5530 5725 5725 5958 6031 6246 6366 6488 6680 6846 7096 7222 7462 7622 7829 8049 8338 8582 8829 9026 9381 9644 9871 10074 10269 10558 10805 11035 11228 11577 11813 12102 12223 12335 12433 12680 12816 12953 13053 13228 13374 13451 13615 13818 13922 14134 14267 14413 14493 14634 14742 14821 14920 15008 15087 15103 15139 15251 15319 15361 15493 15536 15591 15648 15729 15804 15925 16061 16161 16188 16277 16362 16407 16484 16562 16626 16644 16686 16802 16931 17029 17099 17149 17240 17296 17371 17433 17553 17568 17608 17642 17684 17756 17864 17974 18066 18156 18193 18254 18343 18425 18613 18679 18765 18875 18926 19011 19093 19177 19269 19367 19399 19476 19553 19580 19672 19723 19782 19796 19829 19900 19937 19996 20030 20062 20086 20112 20163 20210 20261 20294 20329 20366 20381 20389 20400 20452 20478 20499 20519 20548 20584 20640 20695 20759 20782 20807 20854 20882 20923 20981 21026 21055 21086

Before continue let's save the country coordinates to use later:

In [30]:
country_coords = covid_confirmed_agg[['Country/Region', 'Lat', 'Long']].drop_duplicates()

Use the melt method the create the proper data structure:

In [31]:
covid_confirmed_agg_long = pd.melt(covid_confirmed_agg,
                                   id_vars=covid_confirmed_agg.iloc[:, :3],
                                   var_name='date',
                                   value_vars=covid_confirmed_agg.iloc[:, 3:],
                                   value_name='date_confirmed_cases')

covid_confirmed_agg_long.drop(['Lat', 'Long'], axis=1, inplace=True)

covid_confirmed_agg_long.tail()
Out[31]:
Country/Region date date_confirmed_cases
78907 Vietnam 3/7/21 2512
78908 West Bank and Gaza 3/7/21 196812
78909 Yemen 3/7/21 2473
78910 Zambia 3/7/21 82421
78911 Zimbabwe 3/7/21 36271

And resample the data into monthly buckets:

In [32]:
covid_confirmed_agg_long.set_index('date', inplace=True)
covid_confirmed_agg_long.index = pd.to_datetime(covid_confirmed_agg_long.index)

covid_confirmed_agg_long = covid_confirmed_agg_long.groupby('Country/Region').resample('MS').sum().reset_index()

covid_confirmed_agg_long.head()
Out[32]:
Country/Region date date_confirmed_cases
0 Afghanistan 2020-01-01 0
1 Afghanistan 2020-02-01 6
2 Afghanistan 2020-03-01 1164
3 Afghanistan 2020-04-01 27074
4 Afghanistan 2020-05-01 225674

Now add the Lat and Long values to each country/region:

In [33]:
covid_confirmed_agg_long = covid_confirmed_agg_long.merge(
    country_coords,
    how='inner',
    left_on='Country/Region',
    right_on='Country/Region'
)

covid_confirmed_agg_long.head()
Out[33]:
Country/Region date date_confirmed_cases Lat Long
0 Afghanistan 2020-01-01 0 33.939 67.710
1 Afghanistan 2020-02-01 6 33.939 67.710
2 Afghanistan 2020-03-01 1164 33.939 67.710
3 Afghanistan 2020-04-01 27074 33.939 67.710
4 Afghanistan 2020-05-01 225674 33.939 67.710

Finally, let's use Plotly to create a worldwide visualization.

(this could take a few seconds...)

In [34]:
covid_confirmed_agg_long = covid_confirmed_agg_long.loc[covid_confirmed_agg_long['date'] < '2021-03-01', :]
In [35]:
# we need a string value, that's why we are parsing the date as string
covid_confirmed_agg_long['date'] = covid_confirmed_agg_long['date'].astype(str)

fig = px.scatter_geo(covid_confirmed_agg_long,
                     lat="Lat", lon="Long", color="Country/Region",
                     hover_name="Country/Region", size="date_confirmed_cases",
                     size_max=50, animation_frame="date",
                     template='plotly_dark', projection="natural earth",
                     title="COVID-19 worldwide confirmed cases over time")

fig.show()