{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "import itertools\n", "import collections\n", "import json\n", "import pandas as pd\n", "import numpy as np\n", "from scipy.stats import gmean\n", "import datetime\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "%load_ext sql" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [ "connection_string = 'postgresql://covid:3NbjJTkT63@localhost/covid'" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "Collapsed": "false" }, "outputs": [ { "data": { "text/plain": [ "'Connected: covid@covid'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%sql $connection_string" ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [], "source": [ "# res = %sql select report_date, deaths_weekly as deaths_covid from weekly_cases where geo_id = 'UK' order by report_date\n", "# deaths_cases = res.DataFrame()\n", "# deaths_cases.head()" ] }, { "cell_type": "code", "execution_count": 165, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " * postgresql://covid:***@localhost/covid\n", "53 rows affected.\n", "Returning data to local variable res\n" ] } ], "source": [ "%%sql res << select sum(new_deaths) as covid_deaths, extract(week from (date_trunc('day', date) + interval '2 day')) as eweek\n", "from uk_data \n", "where extract(year from date) = 2020 \n", "group by eweek\n", "order by eweek" ] }, { "cell_type": "code", "execution_count": 166, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
covid_deathseweek
48306849.0
49290650.0
50303551.0
51370852.0
52326353.0
\n", "
" ], "text/plain": [ " covid_deaths eweek\n", "48 3068 49.0\n", "49 2906 50.0\n", "50 3035 51.0\n", "51 3708 52.0\n", "52 3263 53.0" ] }, "execution_count": 166, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_covid = res.DataFrame()\n", "deaths_covid.tail()" ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " * postgresql://covid:***@localhost/covid\n", "53 rows affected.\n", "Returning data to local variable res\n" ] } ], "source": [ "%%sql res << select week, avg(ydd) as deaths_mean\n", "from (select week, year, sum(deaths) as ydd\n", " from all_causes_deaths\n", " group by year, week) as year_deaths\n", "where year < 2020\n", "group by week\n", "order by week" ] }, { "cell_type": "code", "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
weekdeaths_mean
0113870.2
1215783.4
2314985.8
3414457.2
4513841.0
\n", "
" ], "text/plain": [ " week deaths_mean\n", "0 1 13870.2\n", "1 2 15783.4\n", "2 3 14985.8\n", "3 4 14457.2\n", "4 5 13841.0" ] }, "execution_count": 168, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean_deaths = res.DataFrame()\n", "mean_deaths['deaths_mean'] = pd.to_numeric(mean_deaths.deaths_mean)\n", "mean_deaths.head()" ] }, { "cell_type": "code", "execution_count": 169, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "week int64\n", "deaths_mean float64\n", "dtype: object" ] }, "execution_count": 169, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean_deaths.dtypes" ] }, { "cell_type": "code", "execution_count": 170, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " * postgresql://covid:***@localhost/covid\n", "53 rows affected.\n", "Returning data to local variable res\n" ] } ], "source": [ "%%sql res << select ac.week, wk.date_up_to, sum(ac.deaths) as deaths_2020\n", "from all_causes_deaths ac, \n", " (select week, date_up_to \n", " from all_causes_deaths\n", " where year = 2020 and nation = 'England') as wk\n", "where year = 2020 and ac.week = wk.week\n", "group by ac.week, wk.date_up_to\n", "order by ac.week" ] }, { "cell_type": "code", "execution_count": 171, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
weekdate_up_todeaths_2020
012020-01-0313768
122020-01-1016020
232020-01-1714723
342020-01-2413429
452020-01-3113123
\n", "
" ], "text/plain": [ " week date_up_to deaths_2020\n", "0 1 2020-01-03 13768\n", "1 2 2020-01-10 16020\n", "2 3 2020-01-17 14723\n", "3 4 2020-01-24 13429\n", "4 5 2020-01-31 13123" ] }, "execution_count": 171, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020 = res.DataFrame()\n", "deaths_2020.head()" ] }, { "cell_type": "code", "execution_count": 172, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
weekdate_up_todeaths_2020deaths_mean
012020-01-031376813870.2
122020-01-101602015783.4
232020-01-171472314985.8
342020-01-241342914457.2
452020-01-311312313841.0
\n", "
" ], "text/plain": [ " week date_up_to deaths_2020 deaths_mean\n", "0 1 2020-01-03 13768 13870.2\n", "1 2 2020-01-10 16020 15783.4\n", "2 3 2020-01-17 14723 14985.8\n", "3 4 2020-01-24 13429 14457.2\n", "4 5 2020-01-31 13123 13841.0" ] }, "execution_count": 172, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020 = deaths_2020.merge(mean_deaths, how='outer', on='week')\n", "deaths_2020.head()" ] }, { "cell_type": "code", "execution_count": 173, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
date_up_todeaths_2020deaths_meandeaths_covidexcess
week
12020-01-031376813870.20-102.2
22020-01-101602015783.40236.6
32020-01-171472314985.80-262.8
42020-01-241342914457.20-1028.2
52020-01-311312313841.00-718.0
\n", "
" ], "text/plain": [ " date_up_to deaths_2020 deaths_mean deaths_covid excess\n", "week \n", "1 2020-01-03 13768 13870.2 0 -102.2\n", "2 2020-01-10 16020 15783.4 0 236.6\n", "3 2020-01-17 14723 14985.8 0 -262.8\n", "4 2020-01-24 13429 14457.2 0 -1028.2\n", "5 2020-01-31 13123 13841.0 0 -718.0" ] }, "execution_count": 173, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020['deaths_covid'] = deaths_covid.covid_deaths\n", "deaths_2020['excess'] = deaths_2020.deaths_2020 - deaths_2020.deaths_mean\n", "deaths_2020.set_index('week', inplace=True)\n", "deaths_2020.head()" ] }, { "cell_type": "code", "execution_count": 174, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
date_up_todeaths_2020deaths_meandeaths_covidexcess
week
492020-12-041398612157.030681829.0
502020-12-111394212328.829061613.2
512020-12-181465813159.230351498.8
522020-12-25130359231.237083803.8
532021-01-01115808774.032632806.0
\n", "
" ], "text/plain": [ " date_up_to deaths_2020 deaths_mean deaths_covid excess\n", "week \n", "49 2020-12-04 13986 12157.0 3068 1829.0\n", "50 2020-12-11 13942 12328.8 2906 1613.2\n", "51 2020-12-18 14658 13159.2 3035 1498.8\n", "52 2020-12-25 13035 9231.2 3708 3803.8\n", "53 2021-01-01 11580 8774.0 3263 2806.0" ] }, "execution_count": 174, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020.tail()" ] }, { "cell_type": "code", "execution_count": 175, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "date_up_to object\n", "deaths_2020 int64\n", "deaths_mean float64\n", "deaths_covid int64\n", "excess float64\n", "dtype: object" ] }, "execution_count": 175, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020.dtypes" ] }, { "cell_type": "code", "execution_count": 176, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "deaths_2020[['deaths_covid', 'excess']].plot()" ] }, { "cell_type": "code", "execution_count": 177, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
date_up_todeaths_2020deaths_meandeaths_covidexcess
week
492020-12-041398612157.030681829.0
502020-12-111394212328.829061613.2
512020-12-181465813159.230351498.8
522020-12-25130359231.237083803.8
532021-01-01115808774.032632806.0
\n", "
" ], "text/plain": [ " date_up_to deaths_2020 deaths_mean deaths_covid excess\n", "week \n", "49 2020-12-04 13986 12157.0 3068 1829.0\n", "50 2020-12-11 13942 12328.8 2906 1613.2\n", "51 2020-12-18 14658 13159.2 3035 1498.8\n", "52 2020-12-25 13035 9231.2 3708 3803.8\n", "53 2021-01-01 11580 8774.0 3263 2806.0" ] }, "execution_count": 177, "metadata": {}, "output_type": "execute_result" } ], "source": [ "deaths_2020.tail()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "Collapsed": "false" }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }