{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "by_state_covid_analysis.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyO5jgPhRRRCeBQcT0RpIEqI",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "code",
"metadata": {
"id": "-ey4RUPMN4_U",
"colab_type": "code",
"outputId": "6738fc38-2b40-4232-c2ca-53c67d91b636",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 210
}
},
"source": [
"!git clone https://github.com/CSSEGISandData/COVID-19\n",
"!head -5 COVID-19/who_covid_19_situation_reports/who_covid_19_sit_rep_time_series/who_covid_19_sit_rep_time_series.csv"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Cloning into 'COVID-19'...\n",
"remote: Enumerating objects: 14620, done.\u001b[K\n",
"remote: Total 14620 (delta 0), reused 0 (delta 0), pack-reused 14620\u001b[K\n",
"Receiving objects: 100% (14620/14620), 46.89 MiB | 42.20 MiB/s, done.\n",
"Resolving deltas: 100% (7006/7006), done.\n",
"Province/States,Country/Region,WHO region,1/21/2020,1/22/2020,1/23/2020,1/24/2020,1/25/2020,1/26/2020,1/27/2020,1/28/2020,1/29/2020,1/30/2020,1/31/2020,2/1/2020,2/2/2020,2/3/2020,2/4/2020,2/5/2020,2/6/2020,2/7/2020,2/8/2020,2/9/2020,2/10/2020,2/11/2020,2/12/2020,2/13/2020,2/14/2020,2/15/2020,2/16/2020,2/17/2020,2/18/2020,2/19/2020,2/20/2020,2/21/2020,2/22/2020,2/23/2020,2/24/2020,2/25/2020,2/26/2020,2/27/2020,2/28/2020,2/29/2020,3/1/2020,3/2/2020,3/3/2020,3/4/2020,3/5/2020,,,,\n",
"Confirmed,Globally,,282,314,581,846,1320,2014,2798,4593,6065,7818,9826,11953,14557,17391,20630,24554,28276,31481,34886,37558,40554,43103,45171,46997,49053,50580,51857,71429,73332,75204,75748,76769,77794,78811,79331,80239,81109,82294,83652,85403,87137,88948,90870,93091,95324,,,,\n",
"Confirmed,China,Western Pacific Region,278,309,571,830,1297,1985,2741,4537,5997,7736,9720,11821,14411,17238,20471,24363,28060,31211,34598,37251,40235,42708,44730,46550,48548,50054,51174,70635,72528,74280,74675,75569,76392,77042,77262,77780,78191,78630,78961,79394,79968,80174,80304,80422,80565,,,,\n",
"Confirmed,Outside of China,,4,5,10,16,23,29,57,56,68,82,106,132,146,153,159,191,216,270,288,307,319,395,441,447,505,526,683,794,804,924,1073,1200,1402,1769,2069,2459,2918,3664,4691,6009,7169,8774,10566,12669,14759,,,,\n",
"Deaths,China,Western Pacific Region,,,,,,,80,106,132,170,213,259,304,361,425,491,564,637,723,812,909,1017,1114,1260,1381,1524,1666,1772,1870,2006,2121,2239,2348,2445,2595,2666,2718,2747,2791,2838,2873,2915,2946,2984,3015,,,,\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "EowloQGqODJo",
"colab_type": "code",
"outputId": "c5a77e33-4e9d-4d5c-e57a-e80abd81ae8e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"!pip install -U plotly\n",
"!pip install plotly-geo\n",
"!pip install geopandas==0.3.0\n",
"!pip install pyshp==1.2.10"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"Collecting plotly\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/f5/c3/03a183b94441da857e7d2b0564cb482bd15824dc1af2d2b337ea6e538c8f/plotly-4.5.4-py2.py3-none-any.whl (7.1MB)\n",
"\u001b[K |████████████████████████████████| 7.1MB 4.9MB/s \n",
"\u001b[?25hRequirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from plotly) (1.12.0)\n",
"Requirement already satisfied, skipping upgrade: retrying>=1.3.3 in /usr/local/lib/python3.6/dist-packages (from plotly) (1.3.3)\n",
"Installing collected packages: plotly\n",
" Found existing installation: plotly 4.4.1\n",
" Uninstalling plotly-4.4.1:\n",
" Successfully uninstalled plotly-4.4.1\n",
"Successfully installed plotly-4.5.4\n",
"Collecting plotly-geo\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/be/c6/be7d476e8c14c318c7b80329317d5dd5d1b876c393c9f8c0363b0dd188b8/plotly_geo-1.0.0-py3-none-any.whl (23.7MB)\n",
"\u001b[K |████████████████████████████████| 23.7MB 45.7MB/s \n",
"\u001b[?25hInstalling collected packages: plotly-geo\n",
"Successfully installed plotly-geo-1.0.0\n",
"Collecting geopandas==0.3.0\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/0a/0e/8ae74743ed7915ddb7d70cc8dfa8fc0b9b9cc81205c6e288a01915a46192/geopandas-0.3.0-py2.py3-none-any.whl (888kB)\n",
"\u001b[K |████████████████████████████████| 890kB 4.8MB/s \n",
"\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from geopandas==0.3.0) (0.25.3)\n",
"Collecting fiona\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/ec/20/4e63bc5c6e62df889297b382c3ccd4a7a488b00946aaaf81a118158c6f09/Fiona-1.8.13.post1-cp36-cp36m-manylinux1_x86_64.whl (14.7MB)\n",
"\u001b[K |████████████████████████████████| 14.7MB 49.6MB/s \n",
"\u001b[?25hCollecting pyproj\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/77/15/d93f446d253d26b91553f86cf21049183e9b0f51f8c8e6cb2cff081bcc02/pyproj-2.5.0-cp36-cp36m-manylinux2010_x86_64.whl (10.4MB)\n",
"\u001b[K |████████████████████████████████| 10.4MB 54.0MB/s \n",
"\u001b[?25hRequirement already satisfied: descartes in /usr/local/lib/python3.6/dist-packages (from geopandas==0.3.0) (1.1.0)\n",
"Requirement already satisfied: shapely in /usr/local/lib/python3.6/dist-packages (from geopandas==0.3.0) (1.7.0)\n",
"Requirement already satisfied: numpy>=1.13.3 in /usr/local/lib/python3.6/dist-packages (from pandas->geopandas==0.3.0) (1.17.5)\n",
"Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->geopandas==0.3.0) (2018.9)\n",
"Requirement already satisfied: python-dateutil>=2.6.1 in /usr/local/lib/python3.6/dist-packages (from pandas->geopandas==0.3.0) (2.6.1)\n",
"Requirement already satisfied: click<8,>=4.0 in /usr/local/lib/python3.6/dist-packages (from fiona->geopandas==0.3.0) (7.0)\n",
"Requirement already satisfied: six>=1.7 in /usr/local/lib/python3.6/dist-packages (from fiona->geopandas==0.3.0) (1.12.0)\n",
"Collecting click-plugins>=1.0\n",
" Downloading https://files.pythonhosted.org/packages/e9/da/824b92d9942f4e472702488857914bdd50f73021efea15b4cad9aca8ecef/click_plugins-1.1.1-py2.py3-none-any.whl\n",
"Requirement already satisfied: attrs>=17 in /usr/local/lib/python3.6/dist-packages (from fiona->geopandas==0.3.0) (19.3.0)\n",
"Collecting munch\n",
" Downloading https://files.pythonhosted.org/packages/cc/ab/85d8da5c9a45e072301beb37ad7f833cd344e04c817d97e0cc75681d248f/munch-2.5.0-py2.py3-none-any.whl\n",
"Collecting cligj>=0.5\n",
" Downloading https://files.pythonhosted.org/packages/e4/be/30a58b4b0733850280d01f8bd132591b4668ed5c7046761098d665ac2174/cligj-0.5.0-py3-none-any.whl\n",
"Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from descartes->geopandas==0.3.0) (3.1.3)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->descartes->geopandas==0.3.0) (1.1.0)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->descartes->geopandas==0.3.0) (0.10.0)\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->descartes->geopandas==0.3.0) (2.4.6)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.6/dist-packages (from kiwisolver>=1.0.1->matplotlib->descartes->geopandas==0.3.0) (45.2.0)\n",
"Installing collected packages: click-plugins, munch, cligj, fiona, pyproj, geopandas\n",
"Successfully installed click-plugins-1.1.1 cligj-0.5.0 fiona-1.8.13.post1 geopandas-0.3.0 munch-2.5.0 pyproj-2.5.0\n",
"Collecting pyshp==1.2.10\n",
"\u001b[?25l Downloading https://files.pythonhosted.org/packages/c2/cc/1851049f2740d09c7bd8e4b464b1b78638723f6173e71d44aea12deca1f8/pyshp-1.2.10.tar.gz (176kB)\n",
"\u001b[K |████████████████████████████████| 184kB 5.0MB/s \n",
"\u001b[?25hBuilding wheels for collected packages: pyshp\n",
" Building wheel for pyshp (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for pyshp: filename=pyshp-1.2.10-cp36-none-any.whl size=20467 sha256=46961f7afd0f3ea46356f083a8019872cdb2e2cf79f9039a46b0c956fffc03c1\n",
" Stored in directory: /root/.cache/pip/wheels/ba/1a/67/6a12977f362c33a15edc753daf92c6f01879dbf4db76faf0dd\n",
"Successfully built pyshp\n",
"Installing collected packages: pyshp\n",
"Successfully installed pyshp-1.2.10\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "9iK0TIPbOAIo",
"colab_type": "code",
"outputId": "69648746-af4d-468e-fdf4-6b36d91abc98",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"from __future__ import print_function\n",
"\n",
"import numpy as np \n",
"import chart_studio.plotly as py\n",
"import plotly.figure_factory as ff\n",
"import matplotlib.pyplot as plt\n",
"import plotly.express as px\n",
"import pandas as pd\n",
"import datetime\n",
"pd.__version__\n"
],
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'0.25.3'"
]
},
"metadata": {
"tags": []
},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JIKQbowVOwHL",
"colab_type": "code",
"outputId": "ec69a939-412f-496c-fbcc-e458211e6e5d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 398
}
},
"source": [
"covid_across_countries_df = pd.read_csv('COVID-19/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv')\n",
"global_timeseries = covid_across_countries_df.set_index(['Country/Region'])\n",
"global_timeseries.head(10)\n"
],
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Province/State | \n",
" Lat | \n",
" Long | \n",
" 1/22/20 | \n",
" 1/23/20 | \n",
" 1/24/20 | \n",
" 1/25/20 | \n",
" 1/26/20 | \n",
" 1/27/20 | \n",
" 1/28/20 | \n",
" 1/29/20 | \n",
" 1/30/20 | \n",
" 1/31/20 | \n",
" 2/1/20 | \n",
" 2/2/20 | \n",
" 2/3/20 | \n",
" 2/4/20 | \n",
" 2/5/20 | \n",
" 2/6/20 | \n",
" 2/7/20 | \n",
" 2/8/20 | \n",
" 2/9/20 | \n",
" 2/10/20 | \n",
" 2/11/20 | \n",
" 2/12/20 | \n",
" 2/13/20 | \n",
" 2/14/20 | \n",
" 2/15/20 | \n",
" 2/16/20 | \n",
" 2/17/20 | \n",
" 2/18/20 | \n",
" 2/19/20 | \n",
" 2/20/20 | \n",
" 2/21/20 | \n",
" 2/22/20 | \n",
" 2/23/20 | \n",
" 2/24/20 | \n",
" 2/25/20 | \n",
" 2/26/20 | \n",
" 2/27/20 | \n",
" 2/28/20 | \n",
" 2/29/20 | \n",
" 3/1/20 | \n",
" 3/2/20 | \n",
" 3/3/20 | \n",
" 3/4/20 | \n",
" 3/5/20 | \n",
" 3/6/20 | \n",
" 3/7/20 | \n",
" 3/8/20 | \n",
" 3/9/20 | \n",
" 3/10/20 | \n",
" 3/11/20 | \n",
" 3/12/20 | \n",
" 3/13/20 | \n",
" 3/14/20 | \n",
"
\n",
" \n",
" Country/Region | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Thailand | \n",
" NaN | \n",
" 15.0000 | \n",
" 101.0000 | \n",
" 2 | \n",
" 3 | \n",
" 5 | \n",
" 7 | \n",
" 8 | \n",
" 8 | \n",
" 14 | \n",
" 14 | \n",
" 14 | \n",
" 19 | \n",
" 19 | \n",
" 19 | \n",
" 19 | \n",
" 25 | \n",
" 25 | \n",
" 25 | \n",
" 25 | \n",
" 32 | \n",
" 32 | \n",
" 32 | \n",
" 33 | \n",
" 33 | \n",
" 33 | \n",
" 33 | \n",
" 33 | \n",
" 34 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 35 | \n",
" 37 | \n",
" 40 | \n",
" 40 | \n",
" 41 | \n",
" 42 | \n",
" 42 | \n",
" 43 | \n",
" 43 | \n",
" 43 | \n",
" 47 | \n",
" 48 | \n",
" 50 | \n",
" 50 | \n",
" 50 | \n",
" 53 | \n",
" 59 | \n",
" 70 | \n",
" 75 | \n",
" 82 | \n",
"
\n",
" \n",
" Japan | \n",
" NaN | \n",
" 36.0000 | \n",
" 138.0000 | \n",
" 2 | \n",
" 1 | \n",
" 2 | \n",
" 2 | \n",
" 4 | \n",
" 4 | \n",
" 7 | \n",
" 7 | \n",
" 11 | \n",
" 15 | \n",
" 20 | \n",
" 20 | \n",
" 20 | \n",
" 22 | \n",
" 22 | \n",
" 45 | \n",
" 25 | \n",
" 25 | \n",
" 26 | \n",
" 26 | \n",
" 26 | \n",
" 28 | \n",
" 28 | \n",
" 29 | \n",
" 43 | \n",
" 59 | \n",
" 66 | \n",
" 74 | \n",
" 84 | \n",
" 94 | \n",
" 105 | \n",
" 122 | \n",
" 147 | \n",
" 159 | \n",
" 170 | \n",
" 189 | \n",
" 214 | \n",
" 228 | \n",
" 241 | \n",
" 256 | \n",
" 274 | \n",
" 293 | \n",
" 331 | \n",
" 360 | \n",
" 420 | \n",
" 461 | \n",
" 502 | \n",
" 511 | \n",
" 581 | \n",
" 639 | \n",
" 639 | \n",
" 701 | \n",
" 773 | \n",
"
\n",
" \n",
" Singapore | \n",
" NaN | \n",
" 1.2833 | \n",
" 103.8333 | \n",
" 0 | \n",
" 1 | \n",
" 3 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
" 7 | \n",
" 7 | \n",
" 10 | \n",
" 13 | \n",
" 16 | \n",
" 18 | \n",
" 18 | \n",
" 24 | \n",
" 28 | \n",
" 28 | \n",
" 30 | \n",
" 33 | \n",
" 40 | \n",
" 45 | \n",
" 47 | \n",
" 50 | \n",
" 58 | \n",
" 67 | \n",
" 72 | \n",
" 75 | \n",
" 77 | \n",
" 81 | \n",
" 84 | \n",
" 84 | \n",
" 85 | \n",
" 85 | \n",
" 89 | \n",
" 89 | \n",
" 91 | \n",
" 93 | \n",
" 93 | \n",
" 93 | \n",
" 102 | \n",
" 106 | \n",
" 108 | \n",
" 110 | \n",
" 110 | \n",
" 117 | \n",
" 130 | \n",
" 138 | \n",
" 150 | \n",
" 150 | \n",
" 160 | \n",
" 178 | \n",
" 178 | \n",
" 200 | \n",
" 212 | \n",
"
\n",
" \n",
" Nepal | \n",
" NaN | \n",
" 28.1667 | \n",
" 84.2500 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" Malaysia | \n",
" NaN | \n",
" 2.5000 | \n",
" 112.5000 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 7 | \n",
" 8 | \n",
" 8 | \n",
" 8 | \n",
" 8 | \n",
" 8 | \n",
" 10 | \n",
" 12 | \n",
" 12 | \n",
" 12 | \n",
" 16 | \n",
" 16 | \n",
" 18 | \n",
" 18 | \n",
" 18 | \n",
" 19 | \n",
" 19 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 22 | \n",
" 23 | \n",
" 23 | \n",
" 25 | \n",
" 29 | \n",
" 29 | \n",
" 36 | \n",
" 50 | \n",
" 50 | \n",
" 83 | \n",
" 93 | \n",
" 99 | \n",
" 117 | \n",
" 129 | \n",
" 149 | \n",
" 149 | \n",
" 197 | \n",
" 238 | \n",
"
\n",
" \n",
" Canada | \n",
" British Columbia | \n",
" 49.2827 | \n",
" -123.1207 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 2 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 6 | \n",
" 6 | \n",
" 6 | \n",
" 6 | \n",
" 7 | \n",
" 7 | \n",
" 7 | \n",
" 7 | \n",
" 8 | \n",
" 8 | \n",
" 8 | \n",
" 9 | \n",
" 12 | \n",
" 13 | \n",
" 21 | \n",
" 21 | \n",
" 27 | \n",
" 32 | \n",
" 32 | \n",
" 39 | \n",
" 46 | \n",
" 64 | \n",
" 64 | \n",
"
\n",
" \n",
" Australia | \n",
" New South Wales | \n",
" -33.8688 | \n",
" 151.2093 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 6 | \n",
" 13 | \n",
" 22 | \n",
" 22 | \n",
" 26 | \n",
" 28 | \n",
" 38 | \n",
" 48 | \n",
" 55 | \n",
" 65 | \n",
" 65 | \n",
" 92 | \n",
" 112 | \n",
"
\n",
" \n",
" Australia | \n",
" Victoria | \n",
" -37.8136 | \n",
" 144.9631 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 4 | \n",
" 7 | \n",
" 7 | \n",
" 9 | \n",
" 9 | \n",
" 10 | \n",
" 10 | \n",
" 10 | \n",
" 11 | \n",
" 11 | \n",
" 15 | \n",
" 18 | \n",
" 21 | \n",
" 21 | \n",
" 36 | \n",
" 49 | \n",
"
\n",
" \n",
" Australia | \n",
" Queensland | \n",
" -28.0167 | \n",
" 153.4000 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 3 | \n",
" 2 | \n",
" 3 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 4 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 5 | \n",
" 9 | \n",
" 9 | \n",
" 9 | \n",
" 11 | \n",
" 11 | \n",
" 13 | \n",
" 13 | \n",
" 13 | \n",
" 15 | \n",
" 15 | \n",
" 18 | \n",
" 20 | \n",
" 20 | \n",
" 35 | \n",
" 46 | \n",
"
\n",
" \n",
" Cambodia | \n",
" NaN | \n",
" 11.5500 | \n",
" 104.9167 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 7 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Province/State Lat Long ... 3/12/20 3/13/20 3/14/20\n",
"Country/Region ... \n",
"Thailand NaN 15.0000 101.0000 ... 70 75 82\n",
"Japan NaN 36.0000 138.0000 ... 639 701 773\n",
"Singapore NaN 1.2833 103.8333 ... 178 200 212\n",
"Nepal NaN 28.1667 84.2500 ... 1 1 1\n",
"Malaysia NaN 2.5000 112.5000 ... 149 197 238\n",
"Canada British Columbia 49.2827 -123.1207 ... 46 64 64\n",
"Australia New South Wales -33.8688 151.2093 ... 65 92 112\n",
"Australia Victoria -37.8136 144.9631 ... 21 36 49\n",
"Australia Queensland -28.0167 153.4000 ... 20 35 46\n",
"Cambodia NaN 11.5500 104.9167 ... 3 5 7\n",
"\n",
"[10 rows x 56 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZN3lkRM3R5fa",
"colab_type": "code",
"outputId": "42629704-b6a4-4aa5-dfcf-2cb88507f746",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 248
}
},
"source": [
"us_timeseries = global_timeseries.loc['US']\n",
"us_timeseries.head(5)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Province/State | \n",
" Lat | \n",
" Long | \n",
" 1/22/20 | \n",
" 1/23/20 | \n",
" 1/24/20 | \n",
" 1/25/20 | \n",
" 1/26/20 | \n",
" 1/27/20 | \n",
" 1/28/20 | \n",
" 1/29/20 | \n",
" 1/30/20 | \n",
" 1/31/20 | \n",
" 2/1/20 | \n",
" 2/2/20 | \n",
" 2/3/20 | \n",
" 2/4/20 | \n",
" 2/5/20 | \n",
" 2/6/20 | \n",
" 2/7/20 | \n",
" 2/8/20 | \n",
" 2/9/20 | \n",
" 2/10/20 | \n",
" 2/11/20 | \n",
" 2/12/20 | \n",
" 2/13/20 | \n",
" 2/14/20 | \n",
" 2/15/20 | \n",
" 2/16/20 | \n",
" 2/17/20 | \n",
" 2/18/20 | \n",
" 2/19/20 | \n",
" 2/20/20 | \n",
" 2/21/20 | \n",
" 2/22/20 | \n",
" 2/23/20 | \n",
" 2/24/20 | \n",
" 2/25/20 | \n",
" 2/26/20 | \n",
" 2/27/20 | \n",
" 2/28/20 | \n",
" 2/29/20 | \n",
" 3/1/20 | \n",
" 3/2/20 | \n",
" 3/3/20 | \n",
" 3/4/20 | \n",
" 3/5/20 | \n",
" 3/6/20 | \n",
" 3/7/20 | \n",
" 3/8/20 | \n",
" 3/9/20 | \n",
" 3/10/20 | \n",
" 3/11/20 | \n",
" 3/12/20 | \n",
" 3/13/20 | \n",
" 3/14/20 | \n",
"
\n",
" \n",
" Country/Region | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" US | \n",
" Washington | \n",
" 47.4009 | \n",
" -121.4905 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 267 | \n",
" 366 | \n",
" 442 | \n",
" 568 | \n",
" 572 | \n",
"
\n",
" \n",
" US | \n",
" New York | \n",
" 42.1657 | \n",
" -74.9481 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 173 | \n",
" 220 | \n",
" 328 | \n",
" 421 | \n",
" 525 | \n",
"
\n",
" \n",
" US | \n",
" California | \n",
" 36.1162 | \n",
" -119.6816 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 144 | \n",
" 177 | \n",
" 221 | \n",
" 282 | \n",
" 340 | \n",
"
\n",
" \n",
" US | \n",
" Massachusetts | \n",
" 42.2302 | \n",
" -71.5301 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 92 | \n",
" 95 | \n",
" 108 | \n",
" 123 | \n",
" 138 | \n",
"
\n",
" \n",
" US | \n",
" Diamond Princess | \n",
" 35.4437 | \n",
" 139.6380 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 36 | \n",
" 36 | \n",
" 42 | \n",
" 42 | \n",
" 44 | \n",
" 44 | \n",
" 44 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 45 | \n",
" 46 | \n",
" 46 | \n",
" 46 | \n",
" 46 | \n",
" 46 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Province/State Lat Long ... 3/12/20 3/13/20 3/14/20\n",
"Country/Region ... \n",
"US Washington 47.4009 -121.4905 ... 442 568 572\n",
"US New York 42.1657 -74.9481 ... 328 421 525\n",
"US California 36.1162 -119.6816 ... 221 282 340\n",
"US Massachusetts 42.2302 -71.5301 ... 108 123 138\n",
"US Diamond Princess 35.4437 139.6380 ... 46 46 46\n",
"\n",
"[5 rows x 56 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 5
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tpCg3yRWXMX0",
"colab_type": "text"
},
"source": [
"Now that we have the US data isloated, we can input this into a spatio-temporal map: Space represented as a map, and temporal as an animation.\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "gMPRzHVRddPQ",
"colab_type": "code",
"colab": {}
},
"source": [
"#!pip install us\n",
"#import us"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "CxGAMov6uwr5",
"colab_type": "code",
"outputId": "fdece2f2-f98b-4a8b-c70b-00dd8f516874",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 773
}
},
"source": [
"!wget http://www2.census.gov/programs-surveys/popest/datasets/2010-2019/national/totals/nst-est2019-alldata.csv?#\n",
"state_populations = pd.read_csv('nst-est2019-alldata.csv?', index_col='NAME')\n",
"state_populations.head(10)\n",
"\n"
],
"execution_count": 7,
"outputs": [
{
"output_type": "stream",
"text": [
"--2020-03-15 19:02:13-- http://www2.census.gov/programs-surveys/popest/datasets/2010-2019/national/totals/nst-est2019-alldata.csv?\n",
"Resolving www2.census.gov (www2.census.gov)... 104.91.176.162, 2600:1406:e800:384::208c, 2600:1406:e800:3a8::208c\n",
"Connecting to www2.census.gov (www2.census.gov)|104.91.176.162|:80... connected.\n",
"HTTP request sent, awaiting response... 302 Moved Temporarily\n",
"Location: https://www2.census.gov/programs-surveys/popest/datasets/2010-2019/national/totals/nst-est2019-alldata.csv?&sec_ak_reference=18.450ad717.1584298933.19d5eaa [following]\n",
"--2020-03-15 19:02:13-- https://www2.census.gov/programs-surveys/popest/datasets/2010-2019/national/totals/nst-est2019-alldata.csv?&sec_ak_reference=18.450ad717.1584298933.19d5eaa\n",
"Connecting to www2.census.gov (www2.census.gov)|104.91.176.162|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: unspecified [text/csv]\n",
"Saving to: ‘nst-est2019-alldata.csv?’\n",
"\n",
"nst-est2019-alldata [ <=> ] 72.35K --.-KB/s in 0.04s \n",
"\n",
"2020-03-15 19:02:13 (1.87 MB/s) - ‘nst-est2019-alldata.csv?’ saved [74085]\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SUMLEV | \n",
" REGION | \n",
" DIVISION | \n",
" STATE | \n",
" CENSUS2010POP | \n",
" ESTIMATESBASE2010 | \n",
" POPESTIMATE2010 | \n",
" POPESTIMATE2011 | \n",
" POPESTIMATE2012 | \n",
" POPESTIMATE2013 | \n",
" POPESTIMATE2014 | \n",
" POPESTIMATE2015 | \n",
" POPESTIMATE2016 | \n",
" POPESTIMATE2017 | \n",
" POPESTIMATE2018 | \n",
" POPESTIMATE2019 | \n",
" NPOPCHG_2010 | \n",
" NPOPCHG_2011 | \n",
" NPOPCHG_2012 | \n",
" NPOPCHG_2013 | \n",
" NPOPCHG_2014 | \n",
" NPOPCHG_2015 | \n",
" NPOPCHG_2016 | \n",
" NPOPCHG_2017 | \n",
" NPOPCHG_2018 | \n",
" NPOPCHG_2019 | \n",
" BIRTHS2010 | \n",
" BIRTHS2011 | \n",
" BIRTHS2012 | \n",
" BIRTHS2013 | \n",
" BIRTHS2014 | \n",
" BIRTHS2015 | \n",
" BIRTHS2016 | \n",
" BIRTHS2017 | \n",
" BIRTHS2018 | \n",
" BIRTHS2019 | \n",
" DEATHS2010 | \n",
" DEATHS2011 | \n",
" DEATHS2012 | \n",
" DEATHS2013 | \n",
" ... | \n",
" RDEATH2016 | \n",
" RDEATH2017 | \n",
" RDEATH2018 | \n",
" RDEATH2019 | \n",
" RNATURALINC2011 | \n",
" RNATURALINC2012 | \n",
" RNATURALINC2013 | \n",
" RNATURALINC2014 | \n",
" RNATURALINC2015 | \n",
" RNATURALINC2016 | \n",
" RNATURALINC2017 | \n",
" RNATURALINC2018 | \n",
" RNATURALINC2019 | \n",
" RINTERNATIONALMIG2011 | \n",
" RINTERNATIONALMIG2012 | \n",
" RINTERNATIONALMIG2013 | \n",
" RINTERNATIONALMIG2014 | \n",
" RINTERNATIONALMIG2015 | \n",
" RINTERNATIONALMIG2016 | \n",
" RINTERNATIONALMIG2017 | \n",
" RINTERNATIONALMIG2018 | \n",
" RINTERNATIONALMIG2019 | \n",
" RDOMESTICMIG2011 | \n",
" RDOMESTICMIG2012 | \n",
" RDOMESTICMIG2013 | \n",
" RDOMESTICMIG2014 | \n",
" RDOMESTICMIG2015 | \n",
" RDOMESTICMIG2016 | \n",
" RDOMESTICMIG2017 | \n",
" RDOMESTICMIG2018 | \n",
" RDOMESTICMIG2019 | \n",
" RNETMIG2011 | \n",
" RNETMIG2012 | \n",
" RNETMIG2013 | \n",
" RNETMIG2014 | \n",
" RNETMIG2015 | \n",
" RNETMIG2016 | \n",
" RNETMIG2017 | \n",
" RNETMIG2018 | \n",
" RNETMIG2019 | \n",
"
\n",
" \n",
" NAME | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" United States | \n",
" 10 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 308745538 | \n",
" 308758105 | \n",
" 309321666 | \n",
" 311556874 | \n",
" 313830990 | \n",
" 315993715 | \n",
" 318301008 | \n",
" 320635163 | \n",
" 322941311 | \n",
" 324985539 | \n",
" 326687501 | \n",
" 328239523 | \n",
" 563561 | \n",
" 2235208 | \n",
" 2274116 | \n",
" 2162725 | \n",
" 2307293 | \n",
" 2334155 | \n",
" 2306148 | \n",
" 2044228 | \n",
" 1701962 | \n",
" 1552022 | \n",
" 987836 | \n",
" 3973485 | \n",
" 3936976 | \n",
" 3940576 | \n",
" 3963195 | \n",
" 3992376 | \n",
" 3962654 | \n",
" 3901982 | \n",
" 3824521 | \n",
" 3791712 | \n",
" 598691 | \n",
" 2512442 | \n",
" 2501531 | \n",
" 2608019 | \n",
" ... | \n",
" 8.400602 | \n",
" 8.606413 | \n",
" 8.668095 | \n",
" 8.657569 | \n",
" 4.706373 | \n",
" 4.590575 | \n",
" 4.231517 | \n",
" 4.353645 | \n",
" 4.045944 | \n",
" 3.913875 | \n",
" 3.438101 | \n",
" 3.069450 | \n",
" 2.921467 | \n",
" 2.493773 | \n",
" 2.682083 | \n",
" 2.636187 | \n",
" 2.921500 | \n",
" 3.260435 | \n",
" 3.252788 | \n",
" 2.871957 | \n",
" 2.153911 | \n",
" 1.818059 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 2.493773 | \n",
" 2.682083 | \n",
" 2.636187 | \n",
" 2.921500 | \n",
" 3.260435 | \n",
" 3.252788 | \n",
" 2.871957 | \n",
" 2.153911 | \n",
" 1.818059 | \n",
"
\n",
" \n",
" Northeast Region | \n",
" 20 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 55317240 | \n",
" 55318443 | \n",
" 55380134 | \n",
" 55604223 | \n",
" 55775216 | \n",
" 55901806 | \n",
" 56006011 | \n",
" 56034684 | \n",
" 56042330 | \n",
" 56059240 | \n",
" 56046620 | \n",
" 55982803 | \n",
" 61691 | \n",
" 224089 | \n",
" 170993 | \n",
" 126590 | \n",
" 104205 | \n",
" 28673 | \n",
" 7646 | \n",
" 16910 | \n",
" -12620 | \n",
" -63817 | \n",
" 163466 | \n",
" 646249 | \n",
" 637860 | \n",
" 635751 | \n",
" 632433 | \n",
" 634504 | \n",
" 628030 | \n",
" 618490 | \n",
" 610713 | \n",
" 602740 | \n",
" 110878 | \n",
" 470811 | \n",
" 460915 | \n",
" 479963 | \n",
" ... | \n",
" 8.574497 | \n",
" 8.883355 | \n",
" 8.975017 | \n",
" 9.025986 | \n",
" 3.161491 | \n",
" 3.177337 | \n",
" 2.789974 | \n",
" 2.898189 | \n",
" 2.593611 | \n",
" 2.632618 | \n",
" 2.151103 | \n",
" 1.920274 | \n",
" 1.734402 | \n",
" 3.680555 | \n",
" 3.681434 | \n",
" 3.428960 | \n",
" 3.931182 | \n",
" 4.009115 | \n",
" 4.177449 | \n",
" 3.809171 | \n",
" 3.195141 | \n",
" 2.394817 | \n",
" -2.792646 | \n",
" -3.719789 | \n",
" -3.898743 | \n",
" -4.917279 | \n",
" -6.071080 | \n",
" -6.667933 | \n",
" -5.646219 | \n",
" -5.329588 | \n",
" -5.254530 | \n",
" 0.887909 | \n",
" -0.038355 | \n",
" -0.469783 | \n",
" -0.986097 | \n",
" -2.061965 | \n",
" -2.490484 | \n",
" -1.837048 | \n",
" -2.134447 | \n",
" -2.859713 | \n",
"
\n",
" \n",
" Midwest Region | \n",
" 20 | \n",
" 2 | \n",
" 0 | \n",
" 0 | \n",
" 66927001 | \n",
" 66929725 | \n",
" 66974416 | \n",
" 67157800 | \n",
" 67336743 | \n",
" 67560379 | \n",
" 67745167 | \n",
" 67860583 | \n",
" 67987540 | \n",
" 68126781 | \n",
" 68236628 | \n",
" 68329004 | \n",
" 44691 | \n",
" 183384 | \n",
" 178943 | \n",
" 223636 | \n",
" 184788 | \n",
" 115416 | \n",
" 126957 | \n",
" 139241 | \n",
" 109847 | \n",
" 92376 | \n",
" 212570 | \n",
" 834866 | \n",
" 830701 | \n",
" 830890 | \n",
" 836538 | \n",
" 838012 | \n",
" 831641 | \n",
" 818785 | \n",
" 801587 | \n",
" 792343 | \n",
" 140862 | \n",
" 586660 | \n",
" 584671 | \n",
" 605165 | \n",
" ... | \n",
" 9.115871 | \n",
" 9.409840 | \n",
" 9.209377 | \n",
" 9.121680 | \n",
" 3.700916 | \n",
" 3.658587 | \n",
" 3.346624 | \n",
" 3.542205 | \n",
" 3.125649 | \n",
" 3.127816 | \n",
" 2.621003 | \n",
" 2.547252 | \n",
" 2.482162 | \n",
" 1.713906 | \n",
" 1.767566 | \n",
" 1.845688 | \n",
" 1.951908 | \n",
" 2.070856 | \n",
" 2.106735 | \n",
" 1.825671 | \n",
" 1.380898 | \n",
" 1.254708 | \n",
" -2.677835 | \n",
" -2.741509 | \n",
" -1.852612 | \n",
" -2.714878 | \n",
" -3.459293 | \n",
" -3.348519 | \n",
" -2.383041 | \n",
" -2.303653 | \n",
" -2.365881 | \n",
" -0.963930 | \n",
" -0.973943 | \n",
" -0.006924 | \n",
" -0.762969 | \n",
" -1.388437 | \n",
" -1.241784 | \n",
" -0.557370 | \n",
" -0.922755 | \n",
" -1.111173 | \n",
"
\n",
" \n",
" South Region | \n",
" 20 | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" 114555744 | \n",
" 114563030 | \n",
" 114866680 | \n",
" 116006522 | \n",
" 117241208 | \n",
" 118364400 | \n",
" 119624037 | \n",
" 120997341 | \n",
" 122351760 | \n",
" 123542189 | \n",
" 124569433 | \n",
" 125580448 | \n",
" 303650 | \n",
" 1139842 | \n",
" 1234686 | \n",
" 1123192 | \n",
" 1259637 | \n",
" 1373304 | \n",
" 1354419 | \n",
" 1190429 | \n",
" 1027244 | \n",
" 1011015 | \n",
" 368759 | \n",
" 1509634 | \n",
" 1504955 | \n",
" 1504774 | \n",
" 1525313 | \n",
" 1545679 | \n",
" 1541412 | \n",
" 1519344 | \n",
" 1494950 | \n",
" 1481244 | \n",
" 228435 | \n",
" 963051 | \n",
" 960791 | \n",
" 1011227 | \n",
" ... | \n",
" 8.695993 | \n",
" 8.884440 | \n",
" 9.003440 | \n",
" 8.971661 | \n",
" 4.734919 | \n",
" 4.665975 | \n",
" 4.189603 | \n",
" 4.363271 | \n",
" 4.101489 | \n",
" 3.972326 | \n",
" 3.473278 | \n",
" 3.047185 | \n",
" 2.871191 | \n",
" 2.422447 | \n",
" 2.898420 | \n",
" 2.745376 | \n",
" 3.013508 | \n",
" 3.507594 | \n",
" 3.521386 | \n",
" 3.220112 | \n",
" 2.415429 | \n",
" 1.942372 | \n",
" 2.708067 | \n",
" 2.952037 | \n",
" 2.546697 | \n",
" 3.147993 | \n",
" 3.769765 | \n",
" 3.628688 | \n",
" 2.978056 | \n",
" 2.810090 | \n",
" 3.261349 | \n",
" 5.130513 | \n",
" 5.850458 | \n",
" 5.292073 | \n",
" 6.161501 | \n",
" 7.277358 | \n",
" 7.150074 | \n",
" 6.198168 | \n",
" 5.225519 | \n",
" 5.203720 | \n",
"
\n",
" \n",
" West Region | \n",
" 20 | \n",
" 4 | \n",
" 0 | \n",
" 0 | \n",
" 71945553 | \n",
" 71946907 | \n",
" 72100436 | \n",
" 72788329 | \n",
" 73477823 | \n",
" 74167130 | \n",
" 74925793 | \n",
" 75742555 | \n",
" 76559681 | \n",
" 77257329 | \n",
" 77834820 | \n",
" 78347268 | \n",
" 153529 | \n",
" 687893 | \n",
" 689494 | \n",
" 689307 | \n",
" 758663 | \n",
" 816762 | \n",
" 817126 | \n",
" 697648 | \n",
" 577491 | \n",
" 512448 | \n",
" 243041 | \n",
" 982736 | \n",
" 963460 | \n",
" 969161 | \n",
" 968911 | \n",
" 974181 | \n",
" 961571 | \n",
" 945363 | \n",
" 917271 | \n",
" 915385 | \n",
" 118516 | \n",
" 491920 | \n",
" 495154 | \n",
" 511664 | \n",
" ... | \n",
" 7.162666 | \n",
" 7.249159 | \n",
" 7.433851 | \n",
" 7.484418 | \n",
" 6.775073 | \n",
" 6.403477 | \n",
" 6.197259 | \n",
" 6.167134 | \n",
" 5.865519 | \n",
" 5.464477 | \n",
" 5.042888 | \n",
" 4.394871 | \n",
" 4.237605 | \n",
" 2.420326 | \n",
" 2.417019 | \n",
" 2.584552 | \n",
" 2.896704 | \n",
" 3.379635 | \n",
" 3.165416 | \n",
" 2.558222 | \n",
" 1.662573 | \n",
" 1.697839 | \n",
" 0.303019 | \n",
" 0.645877 | \n",
" 0.577710 | \n",
" 1.129725 | \n",
" 1.607650 | \n",
" 2.095662 | \n",
" 1.462972 | \n",
" 1.382378 | \n",
" 0.614245 | \n",
" 2.723344 | \n",
" 3.062896 | \n",
" 3.162262 | \n",
" 4.026429 | \n",
" 4.987285 | \n",
" 5.261078 | \n",
" 4.021194 | \n",
" 3.044951 | \n",
" 2.312083 | \n",
"
\n",
" \n",
" Alabama | \n",
" 40 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 4779736 | \n",
" 4780125 | \n",
" 4785437 | \n",
" 4799069 | \n",
" 4815588 | \n",
" 4830081 | \n",
" 4841799 | \n",
" 4852347 | \n",
" 4863525 | \n",
" 4874486 | \n",
" 4887681 | \n",
" 4903185 | \n",
" 5312 | \n",
" 13632 | \n",
" 16519 | \n",
" 14493 | \n",
" 11718 | \n",
" 10548 | \n",
" 11178 | \n",
" 10961 | \n",
" 13195 | \n",
" 15504 | \n",
" 14226 | \n",
" 59690 | \n",
" 59067 | \n",
" 57929 | \n",
" 58903 | \n",
" 59647 | \n",
" 59389 | \n",
" 58961 | \n",
" 58271 | \n",
" 57313 | \n",
" 11075 | \n",
" 48833 | \n",
" 48366 | \n",
" 50851 | \n",
" ... | \n",
" 10.644438 | \n",
" 10.925229 | \n",
" 10.994485 | \n",
" 11.005972 | \n",
" 2.265531 | \n",
" 2.225976 | \n",
" 1.467602 | \n",
" 1.900561 | \n",
" 1.603236 | \n",
" 1.580712 | \n",
" 1.184225 | \n",
" 0.943643 | \n",
" 0.701470 | \n",
" 0.973446 | \n",
" 1.210028 | \n",
" 1.046273 | \n",
" 0.761796 | \n",
" 0.944900 | \n",
" 1.189188 | \n",
" 0.618401 | \n",
" 0.692264 | \n",
" 0.566242 | \n",
" -0.395013 | \n",
" -0.023714 | \n",
" 0.476276 | \n",
" -0.198307 | \n",
" -0.318543 | \n",
" -0.444016 | \n",
" 0.471965 | \n",
" 1.081522 | \n",
" 1.917501 | \n",
" 0.578434 | \n",
" 1.186314 | \n",
" 1.522549 | \n",
" 0.563489 | \n",
" 0.626357 | \n",
" 0.745172 | \n",
" 1.090366 | \n",
" 1.773786 | \n",
" 2.483744 | \n",
"
\n",
" \n",
" Alaska | \n",
" 40 | \n",
" 4 | \n",
" 9 | \n",
" 2 | \n",
" 710231 | \n",
" 710249 | \n",
" 713910 | \n",
" 722128 | \n",
" 730443 | \n",
" 737068 | \n",
" 736283 | \n",
" 737498 | \n",
" 741456 | \n",
" 739700 | \n",
" 735139 | \n",
" 731545 | \n",
" 3661 | \n",
" 8218 | \n",
" 8315 | \n",
" 6625 | \n",
" -785 | \n",
" 1215 | \n",
" 3958 | \n",
" -1756 | \n",
" -4561 | \n",
" -3594 | \n",
" 2892 | \n",
" 11716 | \n",
" 11124 | \n",
" 11350 | \n",
" 11443 | \n",
" 11330 | \n",
" 11246 | \n",
" 10803 | \n",
" 10284 | \n",
" 10031 | \n",
" 920 | \n",
" 3937 | \n",
" 3940 | \n",
" 4039 | \n",
" ... | \n",
" 6.013710 | \n",
" 6.026374 | \n",
" 6.324758 | \n",
" 6.571286 | \n",
" 10.833975 | \n",
" 9.891427 | \n",
" 9.963809 | \n",
" 10.070920 | \n",
" 9.472235 | \n",
" 9.194336 | \n",
" 8.560881 | \n",
" 7.621171 | \n",
" 7.107189 | \n",
" 1.830035 | \n",
" 3.232888 | \n",
" 3.901845 | \n",
" 1.626225 | \n",
" 3.084583 | \n",
" 3.114363 | \n",
" 3.526975 | \n",
" 0.728215 | \n",
" 0.898626 | \n",
" -1.242307 | \n",
" -1.816090 | \n",
" -4.857204 | \n",
" -13.087173 | \n",
" -11.081701 | \n",
" -7.011712 | \n",
" -14.519740 | \n",
" -14.587355 | \n",
" -12.929847 | \n",
" 0.587728 | \n",
" 1.416798 | \n",
" -0.955359 | \n",
" -11.460949 | \n",
" -7.997118 | \n",
" -3.897349 | \n",
" -10.992765 | \n",
" -13.859140 | \n",
" -12.031221 | \n",
"
\n",
" \n",
" Arizona | \n",
" 40 | \n",
" 4 | \n",
" 8 | \n",
" 4 | \n",
" 6392017 | \n",
" 6392288 | \n",
" 6407172 | \n",
" 6472643 | \n",
" 6554978 | \n",
" 6632764 | \n",
" 6730413 | \n",
" 6829676 | \n",
" 6941072 | \n",
" 7044008 | \n",
" 7158024 | \n",
" 7278717 | \n",
" 14884 | \n",
" 65471 | \n",
" 82335 | \n",
" 77786 | \n",
" 97649 | \n",
" 99263 | \n",
" 111396 | \n",
" 102936 | \n",
" 114016 | \n",
" 120693 | \n",
" 20934 | \n",
" 86097 | \n",
" 85577 | \n",
" 86093 | \n",
" 86129 | \n",
" 86764 | \n",
" 84957 | \n",
" 83021 | \n",
" 81767 | \n",
" 81942 | \n",
" 11505 | \n",
" 48174 | \n",
" 48754 | \n",
" 50612 | \n",
" ... | \n",
" 8.137830 | \n",
" 8.056157 | \n",
" 8.467380 | \n",
" 8.384579 | \n",
" 5.888749 | \n",
" 5.653066 | \n",
" 5.380906 | \n",
" 5.371926 | \n",
" 5.002622 | \n",
" 4.200934 | \n",
" 3.816639 | \n",
" 3.047451 | \n",
" 2.967290 | \n",
" 2.560441 | \n",
" 2.318152 | \n",
" 2.729353 | \n",
" 3.189661 | \n",
" 2.877710 | \n",
" 2.913712 | \n",
" 1.914183 | \n",
" 1.117727 | \n",
" 1.078083 | \n",
" 1.717727 | \n",
" 4.581650 | \n",
" 3.647326 | \n",
" 5.978818 | \n",
" 6.719867 | \n",
" 9.051070 | \n",
" 8.964697 | \n",
" 11.845206 | \n",
" 12.609078 | \n",
" 4.278167 | \n",
" 6.899802 | \n",
" 6.376679 | \n",
" 9.168478 | \n",
" 9.597577 | \n",
" 11.964782 | \n",
" 10.878879 | \n",
" 12.962934 | \n",
" 13.687161 | \n",
"
\n",
" \n",
" Arkansas | \n",
" 40 | \n",
" 3 | \n",
" 7 | \n",
" 5 | \n",
" 2915918 | \n",
" 2916031 | \n",
" 2921964 | \n",
" 2940667 | \n",
" 2952164 | \n",
" 2959400 | \n",
" 2967392 | \n",
" 2978048 | \n",
" 2989918 | \n",
" 3001345 | \n",
" 3009733 | \n",
" 3017804 | \n",
" 5933 | \n",
" 18703 | \n",
" 11497 | \n",
" 7236 | \n",
" 7992 | \n",
" 10656 | \n",
" 11870 | \n",
" 11427 | \n",
" 8388 | \n",
" 8071 | \n",
" 9438 | \n",
" 38453 | \n",
" 38594 | \n",
" 37978 | \n",
" 38225 | \n",
" 38796 | \n",
" 38612 | \n",
" 37737 | \n",
" 37239 | \n",
" 36640 | \n",
" 6979 | \n",
" 29455 | \n",
" 29772 | \n",
" 30994 | \n",
" ... | \n",
" 10.433706 | \n",
" 10.795720 | \n",
" 10.561500 | \n",
" 10.392968 | \n",
" 3.069612 | \n",
" 2.994147 | \n",
" 2.362826 | \n",
" 2.786668 | \n",
" 2.515541 | \n",
" 2.506046 | \n",
" 1.801623 | \n",
" 1.828624 | \n",
" 1.764568 | \n",
" 1.249268 | \n",
" 1.266624 | \n",
" 0.785241 | \n",
" 1.046097 | \n",
" 1.111104 | \n",
" 1.128023 | \n",
" 0.680658 | \n",
" 0.195639 | \n",
" 0.088925 | \n",
" 2.045498 | \n",
" -0.438838 | \n",
" -0.727388 | \n",
" -1.137546 | \n",
" -0.035658 | \n",
" 0.358246 | \n",
" 1.328935 | \n",
" 0.763257 | \n",
" 0.834503 | \n",
" 3.294766 | \n",
" 0.827785 | \n",
" 0.057853 | \n",
" -0.091449 | \n",
" 1.075446 | \n",
" 1.486269 | \n",
" 2.009593 | \n",
" 0.958896 | \n",
" 0.923429 | \n",
"
\n",
" \n",
" California | \n",
" 40 | \n",
" 4 | \n",
" 9 | \n",
" 6 | \n",
" 37253956 | \n",
" 37254519 | \n",
" 37319502 | \n",
" 37638369 | \n",
" 37948800 | \n",
" 38260787 | \n",
" 38596972 | \n",
" 38918045 | \n",
" 39167117 | \n",
" 39358497 | \n",
" 39461588 | \n",
" 39512223 | \n",
" 64983 | \n",
" 318867 | \n",
" 310431 | \n",
" 311987 | \n",
" 336185 | \n",
" 321073 | \n",
" 249072 | \n",
" 191380 | \n",
" 103091 | \n",
" 50635 | \n",
" 123327 | \n",
" 509771 | \n",
" 497451 | \n",
" 499629 | \n",
" 498914 | \n",
" 500380 | \n",
" 490358 | \n",
" 481943 | \n",
" 465017 | \n",
" 462617 | \n",
" 57319 | \n",
" 238388 | \n",
" 239535 | \n",
" 247704 | \n",
" ... | \n",
" 6.662495 | \n",
" 6.755528 | \n",
" 7.043332 | \n",
" 7.154777 | \n",
" 7.240947 | \n",
" 6.824333 | \n",
" 6.611373 | \n",
" 6.631965 | \n",
" 6.362174 | \n",
" 5.897074 | \n",
" 5.519269 | \n",
" 4.756123 | \n",
" 4.560930 | \n",
" 2.646260 | \n",
" 2.600891 | \n",
" 3.058093 | \n",
" 3.408921 | \n",
" 4.047474 | \n",
" 3.634288 | \n",
" 2.873304 | \n",
" 1.809184 | \n",
" 1.874748 | \n",
" -1.369463 | \n",
" -1.105876 | \n",
" -1.409062 | \n",
" -1.205370 | \n",
" -2.062516 | \n",
" -3.134245 | \n",
" -3.503214 | \n",
" -3.940138 | \n",
" -5.151429 | \n",
" 1.276797 | \n",
" 1.495016 | \n",
" 1.649031 | \n",
" 2.203551 | \n",
" 1.984957 | \n",
" 0.500044 | \n",
" -0.629909 | \n",
" -2.130954 | \n",
" -3.276681 | \n",
"
\n",
" \n",
"
\n",
"
10 rows × 150 columns
\n",
"
"
],
"text/plain": [
" SUMLEV REGION DIVISION ... RNETMIG2017 RNETMIG2018 RNETMIG2019\n",
"NAME ... \n",
"United States 10 0 0 ... 2.871957 2.153911 1.818059\n",
"Northeast Region 20 1 0 ... -1.837048 -2.134447 -2.859713\n",
"Midwest Region 20 2 0 ... -0.557370 -0.922755 -1.111173\n",
"South Region 20 3 0 ... 6.198168 5.225519 5.203720\n",
"West Region 20 4 0 ... 4.021194 3.044951 2.312083\n",
"Alabama 40 3 6 ... 1.090366 1.773786 2.483744\n",
"Alaska 40 4 9 ... -10.992765 -13.859140 -12.031221\n",
"Arizona 40 4 8 ... 10.878879 12.962934 13.687161\n",
"Arkansas 40 3 7 ... 2.009593 0.958896 0.923429\n",
"California 40 4 9 ... -0.629909 -2.130954 -3.276681\n",
"\n",
"[10 rows x 150 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 7
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kMKGtFjhGyIf",
"colab_type": "text"
},
"source": [
"Get append data including population, hospitals, hospital beds."
]
},
{
"cell_type": "code",
"metadata": {
"id": "f75nSFbCwlpW",
"colab_type": "code",
"outputId": "eda3bf2d-dc35-4694-99a7-ae98f13420b1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 55
}
},
"source": [
"us_state_abbrev = {\n",
" 'Alabama': 'AL',\n",
" 'Alaska': 'AK',\n",
" 'Arizona': 'AZ',\n",
" 'Arkansas': 'AR',\n",
" 'California': 'CA',\n",
" 'Colorado': 'CO',\n",
" 'Connecticut': 'CT',\n",
" 'Delaware': 'DE',\n",
" 'District of Columbia': 'DC',\n",
" 'Florida': 'FL',\n",
" 'Georgia': 'GA',\n",
" 'Hawaii': 'HI',\n",
" 'Idaho': 'ID',\n",
" 'Illinois': 'IL',\n",
" 'Indiana': 'IN',\n",
" 'Iowa': 'IA',\n",
" 'Kansas': 'KS',\n",
" 'Kentucky': 'KY',\n",
" 'Louisiana': 'LA',\n",
" 'Maine': 'ME',\n",
" 'Maryland': 'MD',\n",
" 'Massachusetts': 'MA',\n",
" 'Michigan': 'MI',\n",
" 'Minnesota': 'MN',\n",
" 'Mississippi': 'MS',\n",
" 'Missouri': 'MO',\n",
" 'Montana': 'MT',\n",
" 'Nebraska': 'NE',\n",
" 'Nevada': 'NV',\n",
" 'New Hampshire': 'NH',\n",
" 'New Jersey': 'NJ',\n",
" 'New Mexico': 'NM',\n",
" 'New York': 'NY',\n",
" 'North Carolina': 'NC',\n",
" 'North Dakota': 'ND',\n",
" 'Northern Mariana Islands':'MP',\n",
" 'Ohio': 'OH',\n",
" 'Oklahoma': 'OK',\n",
" 'Oregon': 'OR',\n",
" 'Palau': 'PW',\n",
" 'Pennsylvania': 'PA',\n",
" 'Puerto Rico': 'PR',\n",
" 'Rhode Island': 'RI',\n",
" 'South Carolina': 'SC',\n",
" 'South Dakota': 'SD',\n",
" 'Tennessee': 'TN',\n",
" 'Texas': 'TX',\n",
" 'Utah': 'UT',\n",
" 'Vermont': 'VT',\n",
" 'Virgin Islands': 'VI',\n",
" 'Virginia': 'VA',\n",
" 'Washington': 'WA',\n",
" 'West Virginia': 'WV',\n",
" 'Wisconsin': 'WI',\n",
" 'Wyoming': 'WY',\n",
"}\n",
"\n",
"good_states = state_populations.index.intersection(us_state_abbrev.keys())\n",
"\n",
"us_state_pop = {}\n",
"for state_name in good_states:\n",
" state_row = state_populations.loc[state_name]\n",
" us_state_pop[state_name]=state_row[\"POPESTIMATE2019\"]\n",
"\n",
"print (us_state_pop)"
],
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": [
"{'Alabama': 4903185, 'Alaska': 731545, 'Arizona': 7278717, 'Arkansas': 3017804, 'California': 39512223, 'Colorado': 5758736, 'Connecticut': 3565287, 'Delaware': 973764, 'District of Columbia': 705749, 'Florida': 21477737, 'Georgia': 10617423, 'Hawaii': 1415872, 'Idaho': 1787065, 'Illinois': 12671821, 'Indiana': 6732219, 'Iowa': 3155070, 'Kansas': 2913314, 'Kentucky': 4467673, 'Louisiana': 4648794, 'Maine': 1344212, 'Maryland': 6045680, 'Massachusetts': 6892503, 'Michigan': 9986857, 'Minnesota': 5639632, 'Mississippi': 2976149, 'Missouri': 6137428, 'Montana': 1068778, 'Nebraska': 1934408, 'Nevada': 3080156, 'New Hampshire': 1359711, 'New Jersey': 8882190, 'New Mexico': 2096829, 'New York': 19453561, 'North Carolina': 10488084, 'North Dakota': 762062, 'Ohio': 11689100, 'Oklahoma': 3956971, 'Oregon': 4217737, 'Pennsylvania': 12801989, 'Rhode Island': 1059361, 'South Carolina': 5148714, 'South Dakota': 884659, 'Tennessee': 6829174, 'Texas': 28995881, 'Utah': 3205958, 'Vermont': 623989, 'Virginia': 8535519, 'Washington': 7614893, 'West Virginia': 1792147, 'Wisconsin': 5822434, 'Wyoming': 578759, 'Puerto Rico': 3193694}\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YTiTI0EACcvv",
"colab_type": "code",
"outputId": "dae19ea9-f351-4867-b418-3d759d04832e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 415
}
},
"source": [
"hospital_beds_df = pd.read_csv('https://raw.githubusercontent.com/daveselinger/covid-19-hackathon/master/Hospitals.csv')\n",
"hospital_beds_df.replace(to_replace=-999, value=1, inplace=True)\n",
"print (hospital_beds_df.set_index('STATE').loc['AK'].head(5))\n",
"print (hospital_beds_df.groupby('TYPE').sum())\n",
"\n",
"hospital_beds_df.index.value_counts()\n",
"\n",
"hospital_bed_count_df = hospital_beds_df.where(hospital_beds_df['TYPE'] == \"GENERAL ACUTE CARE\").groupby('STATE')['BEDS'].sum()"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
" X Y OBJECTID ... BEDS TRAUMA HELIPAD\n",
"STATE ... \n",
"AK -151.077827 60.493169 635 ... 108 LEVEL II Y\n",
"AK -149.800293 61.182950 636 ... 148 LEVEL II N\n",
"AK -131.685788 55.353719 637 ... 54 LEVEL IV Y\n",
"AK -147.739393 64.831745 638 ... 217 LEVEL IV Y\n",
"AK -165.405315 64.501918 639 ... 36 LEVEL IV N\n",
"\n",
"[5 rows x 33 columns]\n",
" X Y ... TTL_STAFF BEDS\n",
"TYPE ... \n",
"CHILDREN -11434.801713 4568.912875 ... 124 16853\n",
"CHRONIC DISEASE -660.310220 369.804715 ... 9 1414\n",
"CRITICAL ACCESS -99135.887396 41965.188956 ... 1031 27440\n",
"GENERAL ACUTE CARE -415767.410650 167018.239174 ... 4524 831577\n",
"LONG TERM CARE -39202.381094 15554.476288 ... 431 24033\n",
"MILITARY -19692.711172 8112.741757 ... 213 10297\n",
"PSYCHIATRIC -68217.458144 27184.376356 ... 741 72930\n",
"REHABILITATION -32943.507997 13172.762036 ... 366 21769\n",
"SPECIAL -11353.647619 4320.670867 ... 122 6499\n",
"WOMEN -1757.882832 717.653003 ... 20 1960\n",
"\n",
"[10 rows x 12 columns]\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uh67po78NXMm",
"colab_type": "text"
},
"source": [
"Some key assumptions in computing these data:\n",
"- 40% of cases will need hospitalization\n",
"- 15% of cases will need an ICU\n",
"- ICU's are 15% of total beds in a hospital\n",
"- 90% of the cases are in the key metropolitan area of the state (which is where the outbreak will occur in a state most likely due to virality/spread -- this is NOT ACTUALLY the case if we had metro/county level data which would be much more accurate)\n",
"- 40% of the population (and importantly here hospital beds/icu beds) are in this metropolitan areas"
]
},
{
"cell_type": "code",
"metadata": {
"id": "2b7gG4t7YA7f",
"colab_type": "code",
"outputId": "162eb7db-57b6-4241-b16a-2d0ce07027c8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"def create_dfs(case_concentration=1.0, population_concentration=1.0):\n",
" us_plotseries = []\n",
" us_growthseries =[]\n",
" startdate = datetime.date(2020,3,10)\n",
" enddate = datetime.date(2020,3,14)\n",
" days = (enddate - startdate).days\n",
" for index, state_row in us_timeseries.iterrows():\n",
" state_name = state_row[\"Province/State\"]\n",
" if state_name not in us_state_abbrev:\n",
" continue\n",
" state_abbrev = us_state_abbrev[state_name]\n",
" last_count = 0\n",
" growth_rate = 0.0\n",
" for date in (startdate + datetime.timedelta(n) for n in range(days)):\n",
" datestr = \"\" + str(date.month) + \"/\" + str(date.day) + \"/\" + str(date.year)[2:]\n",
" count = state_row[datestr]\n",
" row = [state_abbrev, str(date), count]\n",
" if date.day == 9:\n",
" print(row)\n",
" us_plotseries.append(row)\n",
" ## ROGER: Please compute over 2 days instead of 1\n",
" if last_count > 0:\n",
" growth_rate = 100.0 * count / last_count - 100\n",
" last_count = count\n",
"\n",
" doubling_days = 10\n",
" if growth_rate > 0:\n",
" doubling_days = np.log(2)/np.log(1+ growth_rate/100.0)\n",
" \n",
" population = us_state_pop[state_name]\n",
" percent_population = count * 10000.0 / population\n",
"\n",
" beds = hospital_bed_count_df.loc[state_abbrev]\n",
" beds_in_metro = beds * population_concentration\n",
" cases_needing_beds_in_metro = count * case_concentration * .4\n",
" percent_beds = cases_needing_beds_in_metro * 100.0 / (beds_in_metro)\n",
"\n",
" icu_beds = beds * 0.15\n",
" cases_needing_icu_in_metro = count * case_concentration * .15\n",
" icu_beds_in_metro = icu_beds * population_concentration\n",
" percent_icu = cases_needing_icu_in_metro * 100.0 / (icu_beds_in_metro)\n",
"\n",
"# Now let's compute the number of days until the ICU is at 100%\n",
" import math\n",
" multiplier_to_fill_icu = 1.0 / (percent_icu/100)\n",
" days_to_fill=100\n",
" if growth_rate > 0:\n",
" print (\"For State \" + state_abbrev + \" need \" + str(multiplier_to_fill_icu) + \" growth to fill the ICU\")\n",
" print (\"Growth rate\" + str (growth_rate) + \";\")\n",
" days_to_fill = math.log10(multiplier_to_fill_icu)/math.log10(1+growth_rate/100.0)\n",
"\n",
" growth_row = [state_abbrev, str(date), count, growth_rate, doubling_days, population, percent_population, beds, percent_beds, icu_beds, percent_icu, days_to_fill]\n",
" # print (growth_row)\n",
" us_growthseries.append(growth_row)\n",
"\n",
" us_plotseries_df = pd.DataFrame(us_plotseries, columns =['State', 'Day','Count'], dtype = int) \n",
" us_growthseries_df = pd.DataFrame(us_growthseries, columns =['State', 'Day','Count', 'Growth Rate', 'Days to Double', 'Population', 'Population Percent (1/100 of 1%)', 'Beds', 'Beds Percent', 'ICU', 'ICU Percent', 'Days To ICU Capacity'], dtype = int) \n",
"\n",
" return us_plotseries_df, us_growthseries_df\n",
"\n",
"us_plotseries_df, us_growthseries_df = create_dfs(case_concentration=0.9, population_concentration=0.4)\n",
"print (us_growthseries_df.head(10))\n"
],
"execution_count": 35,
"outputs": [
{
"output_type": "stream",
"text": [
"For State WA need 8.83568075117371 growth to fill the ICU\n",
"Growth rate28.50678733031674;\n",
"For State NY need 55.07310636051729 growth to fill the ICU\n",
"Growth rate28.353658536585357;\n",
"For State CA need 138.55949566587864 growth to fill the ICU\n",
"Growth rate27.601809954751133;\n",
"For State MA need 54.80036133694671 growth to fill the ICU\n",
"Growth rate13.888888888888886;\n",
"For State GA need 254.61375661375655 growth to fill the ICU\n",
"Growth rate35.48387096774192;\n",
"For State CO need 76.34467120181405 growth to fill the ICU\n",
"Growth rate8.888888888888886;\n",
"For State FL need 527.0133333333333 growth to fill the ICU\n",
"Growth rate42.85714285714286;\n",
"For State OR need 103.46666666666667 growth to fill the ICU\n",
"Growth rate25.0;\n",
"For State TX need 705.8501291989663 growth to fill the ICU\n",
"Growth rate59.25925925925927;\n",
"For State IL need 295.3913043478261 growth to fill the ICU\n",
"Growth rate43.75;\n",
"For State PA need 406.4932249322494 growth to fill the ICU\n",
"Growth rate86.36363636363637;\n",
"For State IA need 293.90849673202615 growth to fill the ICU\n",
"Growth rate6.25;\n",
"For State MD need 275.9012345679013 growth to fill the ICU\n",
"Growth rate50.0;\n",
"For State NC need 684.9934640522875 growth to fill the ICU\n",
"Growth rate13.333333333333329;\n",
"For State SC need 437.0940170940171 growth to fill the ICU\n",
"Growth rate8.333333333333329;\n",
"For State TN need 381.2991452991453 growth to fill the ICU\n",
"Growth rate44.44444444444446;\n",
"For State VA need 273.94074074074075 growth to fill the ICU\n",
"Growth rate76.47058823529412;\n",
"For State KY need 446.8888888888888 growth to fill the ICU\n",
"Growth rate40.0;\n",
"For State NV need 142.79738562091504 growth to fill the ICU\n",
"Growth rate21.42857142857143;\n",
"For State MN need 431.7460317460317 growth to fill the ICU\n",
"Growth rate55.55555555555554;\n",
"For State NE need 163.7606837606838 growth to fill the ICU\n",
"Growth rate30.0;\n",
"For State OH need 1395.8632478632478 growth to fill the ICU\n",
"Growth rate160.0;\n",
"For State RI need 93.71428571428571 growth to fill the ICU\n",
"Growth rate180.0;\n",
"For State WI need 399.01754385964915 growth to fill the ICU\n",
"Growth rate137.5;\n",
"For State CT need 349.0505050505051 growth to fill the ICU\n",
"Growth rate120.0;\n",
"For State UT need 224.79012345679013 growth to fill the ICU\n",
"Growth rate80.0;\n",
"For State KS need 752.7111111111111 growth to fill the ICU\n",
"Growth rate400.0;\n",
"For State LA need 182.7283950617284 growth to fill the ICU\n",
"Growth rate89.47368421052633;\n",
"For State MO need 4536.666666666667 growth to fill the ICU\n",
"Growth rate100.0;\n",
"For State DE need 254.44444444444443 growth to fill the ICU\n",
"Growth rate300.0;\n",
"For State MI need 680.25 growth to fill the ICU\n",
"Growth rate700.0;\n",
"For State NM need 173.15555555555557 growth to fill the ICU\n",
"Growth rate100.0;\n",
" State Day Count ... ICU ICU Percent Days To ICU Capacity\n",
"0 WA 2020-03-13 568 ... 1693.80 11.317747 8.686993\n",
"1 NY 2020-03-13 421 ... 7825.20 1.815768 16.059106\n",
"2 CA 2020-03-13 282 ... 13187.40 0.721712 20.231441\n",
"3 MA 2020-03-13 123 ... 2274.90 1.824805 30.785086\n",
"4 GA 2020-03-13 42 ... 3609.15 0.392752 18.241912\n",
"5 CO 2020-03-13 49 ... 1262.55 1.309849 50.908523\n",
"6 FL 2020-03-13 50 ... 8893.35 0.189749 17.571253\n",
"7 NJ 2020-03-13 29 ... 3744.60 0.261376 100.000000\n",
"8 OR 2020-03-13 30 ... 1047.60 0.966495 20.790426\n",
"9 TX 2020-03-13 43 ... 10243.65 0.141673 14.095232\n",
"\n",
"[10 rows x 12 columns]\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:44: RuntimeWarning:\n",
"\n",
"divide by zero encountered in double_scalars\n",
"\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "IXyrSisfXLsu",
"colab_type": "code",
"outputId": "7c2620f7-8df3-425b-dcaa-147fda64bf16",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"fig = px.choropleth(us_plotseries_df, title = \"Cases\", locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Count\", animation_frame=\"Day\", range_color=[0,250])\n",
"fig.show()\n",
"fig2 = px.choropleth(us_growthseries_df, title=\"Growth Rate\", locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Growth Rate\", range_color=[0,100])\n",
"fig2.show()\n",
"fig2 = px.choropleth(us_growthseries_df, title=\"Days to Double\", color_continuous_scale='ylgnbu' ,locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Days to Double\", range_color=[0,10])\n",
"fig2.show()\n",
"fig3 = px.choropleth(us_growthseries_df, title=\"Percent Infected (bps)\", locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Population Percent (1/100 of 1%)\", range_color=[0,1])\n",
"fig3.show()\n",
"fig4 = px.choropleth(us_growthseries_df, title=\"Percent of Beds (%)\", locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Beds Percent\", range_color=[0,50])\n",
"fig4.show()\n",
"fig5 = px.choropleth(us_growthseries_df, title=\"Percent of ICU Beds (%)\", locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"ICU Percent\", range_color=[0,50])\n",
"fig5.show()\n",
"fig6 = px.choropleth(us_growthseries_df, title=\"Days to fill ICU\", color_continuous_scale='ylgnbu', locations=\"State\", locationmode=\"USA-states\",scope=\"usa\", color=\"Days To ICU Capacity\", range_color=[0,50])\n",
"fig6.show()\n"
],
"execution_count": 37,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"text/html": [
"\n",
"\n",
"\n",
" \n",
" \n",
" \n",
" \n",
"
\n",
" \n",
"
\n",
"\n",
""
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "83ajkR5PDMyj",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "BDk0Qy58PxxC",
"colab_type": "code",
"colab": {}
},
"source": [
"##ROGER"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "r9SNDP3duxnZ",
"colab_type": "text"
},
"source": [
"Next, let's compute a simulation to determine what the R0 we need for this state to NOT overwhelm the ICU.\n",
"This simulation will have to be done including assumed length of stay in the ICU (14 days for now--can correct if we need to) (people in then people out).\n",
"\n"
]
}
]
}