Yet another COVID-19 Tracking Project

There are lots of Covid-19 Trackers out there. Some of them allow you to look at the numbers on a macro level, others allow you to look at the data for smaller regions. Some are updated frequently, others not as often.

The goal of this project was to combine some of the various data sources to allow for tracking and analysis of different regions that I felt were relevant and to be able to look at the data in a way that isnt always easily availble on the web.

All charts are interactive. You can zoom in/zoom out, you can select (and deselect) regions (by default only a handful of regions is displayed on each chart, but others can be easily added by clicking on them in teh legend

Load World Data

Load NYC Data

Load US State-Level Data

Combine NYC and US and setup

Merge US with the World and Setup

Regions Up-To-Date as of:

region
California       2020-04-07
France           2020-04-07
Israel           2020-04-07
Italy            2020-04-07
Korea, South     2020-04-07
Louisiana        2020-04-07
Michigan         2020-04-07
New Jersey       2020-04-07
New York         2020-04-07
New York City    2020-04-07
Spain            2020-04-07
Sweden           2020-04-07
US               2020-04-07
United Kingdom   2020-04-07
Washington       2020-04-07
Name: date, dtype: datetime64[ns]

Analyis of World Data

The Charts

Overall Numbers: Total Positives and Mortality by Region

Current Trends: Daily Changes in Confirmed Cases and Deaths

Log-Log Analysis

This is a great indicator of how "under-control" each region is. When the case count in a region is growing exponentially -- the region appears on this graph as a straight line (moving from left to right).

Regions that are able to get the spread under control will show up as if "dropping off" the chart (perfect example is South Korea in purple). We want to see all the other regions follow that pattern. You can see some "departure" from the straigh line in Italy and Spain. Everyone else is still pretty much on the "staight line", although there are some early signs of hope

Total Numbers Adjusted for Population Sizes in the Region

Granted, not a totally fair comparison of NYC or NY State vs entire country of Italy or Spain.

Look at State Level Data

How are we doing with Testings?

/Volumes/UserData/Users/ivid/anaconda/envs/fastai-cpu/lib/python3.6/site-packages/plotly/tools.py:465: DeprecationWarning:

plotly.tools.make_subplots is deprecated, please use plotly.subplots.make_subplots instead

Old Garbage and Census Data

Percentage Growth Heatmaps

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~/anaconda/envs/fastai-cpu/lib/python3.6/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2645             try:
-> 2646                 return self._engine.get_loc(key)
   2647             except KeyError:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'region'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-40-2e1a62db1bd1> in <module>
----> 1 regions = df['region'].unique().to_list()
      2 dates = np.sort(df['date'].unique())

~/anaconda/envs/fastai-cpu/lib/python3.6/site-packages/pandas/core/frame.py in __getitem__(self, key)
   2798             if self.columns.nlevels > 1:
   2799                 return self._getitem_multilevel(key)
-> 2800             indexer = self.columns.get_loc(key)
   2801             if is_integer(indexer):
   2802                 indexer = [indexer]

~/anaconda/envs/fastai-cpu/lib/python3.6/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   2646                 return self._engine.get_loc(key)
   2647             except KeyError:
-> 2648                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   2649         indexer = self.get_indexer([key], method=method, tolerance=tolerance)
   2650         if indexer.ndim > 1 or indexer.size > 1:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'region'