{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Impact of covid on prescribing in March\n", "\n", "- [Largest absolute increase in items](#abs)\n", "- [Percentage diff of high volume items](#per)\n", "- [Antibiotics](#abx)\n", "- [Overall trends](#overall)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import os as os\n", "import numpy as np\n", "from ebmdatalab import bq, maps, charts" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "pd.set_option('display.float_format', lambda x: '%.2f' % x)" ] }, { "cell_type": "code", "execution_count": 3, "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", "
chemical_codechemicalitems_2019items_2020
00212000B0Atorvastatin36976164382962
10602010V0Levothyroxine sodium27076303050351
20103050P0Omeprazole26066092973978
30206020A0Amlodipine25091452866241
40301011R0Salbutamol17920932776025
\n", "
" ], "text/plain": [ " chemical_code chemical items_2019 items_2020\n", "0 0212000B0 Atorvastatin 3697616 4382962\n", "1 0602010V0 Levothyroxine sodium 2707630 3050351\n", "2 0103050P0 Omeprazole 2606609 2973978\n", "3 0206020A0 Amlodipine 2509145 2866241\n", "4 0301011R0 Salbutamol 1792093 2776025" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sql = '''\n", "WITH\n", " bnf_tab AS (\n", " SELECT\n", " DISTINCT chemical,\n", " chemical_code\n", " FROM\n", " ebmdatalab.hscic.bnf )\n", "SELECT\n", " SUBSTR(presc.bnf_code, 0, 9) AS chemical_code, \n", " chemical,\n", " SUM(case when month = \"2019-03-01\" then items else 0 END) as items_2019,\n", " SUM(case when month = \"2020-03-01\" then items else 0 END) as items_2020\n", "FROM\n", "ebmdatalab.hscic.normalised_prescribing AS presc\n", "LEFT JOIN\n", "bnf_tab\n", "ON\n", "chemical_code=SUBSTR(presc.bnf_code,0,9)\n", "WHERE\n", "month BETWEEN TIMESTAMP('2019-03-01')\n", " AND TIMESTAMP('2020-03-01') \n", "GROUP BY\n", "chemical_code,\n", "chemical\n", "ORDER BY\n", " items_2020 DESC\n", "\n", " '''\n", "\n", "df_chemical = bq.cached_read(sql, csv_path=os.path.join('..','data','df_chemical.csv'))\n", "df_chemical.head(5)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "lines_to_next_cell": 2 }, "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", "
chemical_codechemicalitems_2019items_2020increaseper_diff
00212000B0Atorvastatin3697616438296268534618.53
10602010V0Levothyroxine sodium2707630305035134272112.66
20103050P0Omeprazole2606609297397836736914.09
30206020A0Amlodipine2509145286624135709614.23
40301011R0Salbutamol1792093277602598393254.90
\n", "
" ], "text/plain": [ " chemical_code chemical items_2019 items_2020 increase \\\n", "0 0212000B0 Atorvastatin 3697616 4382962 685346 \n", "1 0602010V0 Levothyroxine sodium 2707630 3050351 342721 \n", "2 0103050P0 Omeprazole 2606609 2973978 367369 \n", "3 0206020A0 Amlodipine 2509145 2866241 357096 \n", "4 0301011R0 Salbutamol 1792093 2776025 983932 \n", "\n", " per_diff \n", "0 18.53 \n", "1 12.66 \n", "2 14.09 \n", "3 14.23 \n", "4 54.90 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_march_diff = df_chemical.copy()\n", "df_march_diff[\"increase\"] = (df_march_diff.items_2020 - df_march_diff.items_2019).fillna(0)\n", "df_march_diff[\"per_diff\"] = 100*((df_march_diff.items_2020 - df_march_diff.items_2019)/df_march_diff.items_2019)\n", "df_march_diff.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Largest absolute increases in items " ] }, { "cell_type": "code", "execution_count": 5, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chemical_codechemicalitems_2019items_2020increaseper_diff
40301011R0Salbutamol1792093277602598393254.90
00212000B0Atorvastatin3697616438296268534618.53
140302000C0Beclometasone dipropionate926886142933450244854.21
20103050P0Omeprazole2606609297397836736914.09
30206020A0Amlodipine2509145286624135709614.23
60103050L0Lansoprazole2168631251583534720416.01
10602010V0Levothyroxine sodium2707630305035134272112.66
50205051R0Ramipril2416608268781227120411.22
70204000H0Bisoprolol fumarate2024810227861825380812.53
120407010H0Paracetamol1465480170836224288216.57
130403030Q0Sertraline hydrochloride1354400158813323373317.26
90601022B0Metformin hydrochloride1839377204490520552811.17
80906040G0Colecalciferol200235321533311509787.54
240603020T0Prednisolone58986473510714524324.62
370208020Z0Apixaban45630357866012235726.81
190205052N0Losartan potassium84160496071011910614.15
170403010B0Amitriptyline hydrochloride11559431253092971498.40
210403040X0Mirtazapine7841228780329391011.98
540302000K0Budesonide3033763967579338130.78
150407010F0Co-codamol (Codeine phosphate/paracetamol)12556171348040924237.36
450302000N0Fluticasone propionate (Inhalation)3890844786028951823.01
200209000C0Clopidogrel8297969158618606510.37
160403030D0Citalopram hydrobromide11776081253828762206.47
260704010U0Tamsulosin hydrochloride6212056966927548712.15
290205052C0Candesartan cilexetil5843226594617513912.86
100209000A0Aspirin18545851928371737863.98
\n", "
" ], "text/plain": [ " chemical_code chemical items_2019 \\\n", "4 0301011R0 Salbutamol 1792093 \n", "0 0212000B0 Atorvastatin 3697616 \n", "14 0302000C0 Beclometasone dipropionate 926886 \n", "2 0103050P0 Omeprazole 2606609 \n", "3 0206020A0 Amlodipine 2509145 \n", "6 0103050L0 Lansoprazole 2168631 \n", "1 0602010V0 Levothyroxine sodium 2707630 \n", "5 0205051R0 Ramipril 2416608 \n", "7 0204000H0 Bisoprolol fumarate 2024810 \n", "12 0407010H0 Paracetamol 1465480 \n", "13 0403030Q0 Sertraline hydrochloride 1354400 \n", "9 0601022B0 Metformin hydrochloride 1839377 \n", "8 0906040G0 Colecalciferol 2002353 \n", "24 0603020T0 Prednisolone 589864 \n", "37 0208020Z0 Apixaban 456303 \n", "19 0205052N0 Losartan potassium 841604 \n", "17 0403010B0 Amitriptyline hydrochloride 1155943 \n", "21 0403040X0 Mirtazapine 784122 \n", "54 0302000K0 Budesonide 303376 \n", "15 0407010F0 Co-codamol (Codeine phosphate/paracetamol) 1255617 \n", "45 0302000N0 Fluticasone propionate (Inhalation) 389084 \n", "20 0209000C0 Clopidogrel 829796 \n", "16 0403030D0 Citalopram hydrobromide 1177608 \n", "26 0704010U0 Tamsulosin hydrochloride 621205 \n", "29 0205052C0 Candesartan cilexetil 584322 \n", "10 0209000A0 Aspirin 1854585 \n", "\n", " items_2020 increase per_diff \n", "4 2776025 983932 54.90 \n", "0 4382962 685346 18.53 \n", "14 1429334 502448 54.21 \n", "2 2973978 367369 14.09 \n", "3 2866241 357096 14.23 \n", "6 2515835 347204 16.01 \n", "1 3050351 342721 12.66 \n", "5 2687812 271204 11.22 \n", "7 2278618 253808 12.53 \n", "12 1708362 242882 16.57 \n", "13 1588133 233733 17.26 \n", "9 2044905 205528 11.17 \n", "8 2153331 150978 7.54 \n", "24 735107 145243 24.62 \n", "37 578660 122357 26.81 \n", "19 960710 119106 14.15 \n", "17 1253092 97149 8.40 \n", "21 878032 93910 11.98 \n", "54 396757 93381 30.78 \n", "15 1348040 92423 7.36 \n", "45 478602 89518 23.01 \n", "20 915861 86065 10.37 \n", "16 1253828 76220 6.47 \n", "26 696692 75487 12.15 \n", "29 659461 75139 12.86 \n", "10 1928371 73786 3.98 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_march_diff.sort_values(\"increase\", ascending=False).head(26)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Percentage difference " ] }, { "cell_type": "code", "execution_count": 6, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chemical_codechemicalitems_2019items_2020increaseper_diff
201214800001DUMMY CHEMICAL SUBSTANCE 214800001169477402157074336.78
1700301011ABBeclometdiprop/formoterol/glycopyrronium4429210230658014130.98
1630208020AAEdoxaban4944710943559988121.32
40301011R0Salbutamol1792093277602598393254.90
1290601023ANEmpagliflozin973811505485316754.60
140302000C0Beclometasone dipropionate926886142933450244854.21
1090302000V0Fluticasone furoate (Inhalation)1257701901006433051.15
2240301011V0Terbutaline sulphate41821609741915345.80
2000301040W0Umeclidinium bromide/vilanterol51199743702317145.26
2280601023AQDulaglutide40536587021816644.81
235238030680DUMMY CHEMICAL SUBSTANCE 23803068038758559091715144.25
1380604011G0Estradiol962761378854160943.22
980601011A0Insulin aspart1599362123545241832.77
2520601023AMCanagliflozin37901502241232332.51
1410601023AKAlogliptin1046871369233223630.79
540302000K0Budesonide3033763967579338130.78
125210109007DUMMY CHEMICAL SUBSTANCE 2101090071225141585353602129.40
680501030I0Doxycycline hyclate2493193217447242529.05
660303020G0Montelukast2569963261296913326.90
370208020Z0Apixaban45630357866012235726.81
1590601023AGDapagliflozin896671134932382626.57
830212000AARosuvastatin calcium2019012549815308026.29
240603020T0Prednisolone58986473510714524324.62
1220601012V0Insulin glargine1308061617263092023.64
450302000N0Fluticasone propionate (Inhalation)3890844786028951823.01
1450304010W0Promethazine hydrochloride1034691261822271321.95
\n", "
" ], "text/plain": [ " chemical_code chemical items_2019 \\\n", "201 214800001 DUMMY CHEMICAL SUBSTANCE 214800001 16947 \n", "170 0301011AB Beclometdiprop/formoterol/glycopyrronium 44292 \n", "163 0208020AA Edoxaban 49447 \n", "4 0301011R0 Salbutamol 1792093 \n", "129 0601023AN Empagliflozin 97381 \n", "14 0302000C0 Beclometasone dipropionate 926886 \n", "109 0302000V0 Fluticasone furoate (Inhalation) 125770 \n", "224 0301011V0 Terbutaline sulphate 41821 \n", "200 0301040W0 Umeclidinium bromide/vilanterol 51199 \n", "228 0601023AQ Dulaglutide 40536 \n", "235 238030680 DUMMY CHEMICAL SUBSTANCE 238030680 38758 \n", "138 0604011G0 Estradiol 96276 \n", "98 0601011A0 Insulin aspart 159936 \n", "252 0601023AM Canagliflozin 37901 \n", "141 0601023AK Alogliptin 104687 \n", "54 0302000K0 Budesonide 303376 \n", "125 210109007 DUMMY CHEMICAL SUBSTANCE 210109007 122514 \n", "68 0501030I0 Doxycycline hyclate 249319 \n", "66 0303020G0 Montelukast 256996 \n", "37 0208020Z0 Apixaban 456303 \n", "159 0601023AG Dapagliflozin 89667 \n", "83 0212000AA Rosuvastatin calcium 201901 \n", "24 0603020T0 Prednisolone 589864 \n", "122 0601012V0 Insulin glargine 130806 \n", "45 0302000N0 Fluticasone propionate (Inhalation) 389084 \n", "145 0304010W0 Promethazine hydrochloride 103469 \n", "\n", " items_2020 increase per_diff \n", "201 74021 57074 336.78 \n", "170 102306 58014 130.98 \n", "163 109435 59988 121.32 \n", "4 2776025 983932 54.90 \n", "129 150548 53167 54.60 \n", "14 1429334 502448 54.21 \n", "109 190100 64330 51.15 \n", "224 60974 19153 45.80 \n", "200 74370 23171 45.26 \n", "228 58702 18166 44.81 \n", "235 55909 17151 44.25 \n", "138 137885 41609 43.22 \n", "98 212354 52418 32.77 \n", "252 50224 12323 32.51 \n", "141 136923 32236 30.79 \n", "54 396757 93381 30.78 \n", "125 158535 36021 29.40 \n", "68 321744 72425 29.05 \n", "66 326129 69133 26.90 \n", "37 578660 122357 26.81 \n", "159 113493 23826 26.57 \n", "83 254981 53080 26.29 \n", "24 735107 145243 24.62 \n", "122 161726 30920 23.64 \n", "45 478602 89518 23.01 \n", "145 126182 22713 21.95 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "high_volume_diff = df_march_diff.loc[(df_march_diff[\"items_2020\"] >= 50000)].sort_values(\"per_diff\", ascending=False)\n", "high_volume_diff.head(26)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Antimicrobial Stewardship " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "lines_to_next_cell": 2 }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
chemical_codechemicalitems_2019items_2020increaseper_diff
680501030I0Doxycycline hyclate2493193217447242529.05
270501013B0Amoxicillin667132694726275944.14
920501011P0Phenoxymethylpenicillin (Penicillin V)206107224298181918.83
1950501050A0Azithromycin64255779581370321.33
1080501050B0Clarithromycin178630191549129197.23
1850503021C0Aciclovir7921787733851610.75
3780501015P0Pivmecillinam hydrochloride1753521850431524.61
3330504010T0Quinine bisulfate2476428479371515.00
2160501021L0Cefalexin609156435834435.65
4140501080D0Co-trimoxazole(Trimethoprim/sulfamethoxazole)1413117483335223.72
1600501013K0Co-amoxiclav (Amoxicillin/clavulanic acid)10966811244027722.53
5180501130H0Methenamine hippurate765410049239531.29
6300501070AEFosfomycin trometamol39215591167042.59
5910501070X0Rifaximin56816794111319.59
7010503021A0Valaciclovir3372400062818.62
7360501070I0Colistimethate sodium2916344552918.14
7630501120P0Ofloxacin288330631806.24
8310501120X0Levofloxacin217823381607.35
12480501070U0Vancomycin hydrochloride27740913247.65
8280501100H0Dapsone222623531275.71
8520501030V0Tetracycline206321651024.94
12040501120Y0Moxifloxacin438476388.68
15070501070W0Linezolid871243742.53
17220503040A0Zanamivir103929290.00
14450501110G0Tinidazole1321562418.18
9380501090R0Rifampicin14911503120.80
15330503010H0Tenofovir disoproxil1001111111.00
16930504080A0Atovaquone35461131.43
14400501090S0Rifampicin combined preparations151161106.62
17480505060I0Ivermectin2533832.00
17840505030A0Albendazole1927842.11
14800504010F0Chloroquine phosphate12913675.43
18060504010N0Pyrimethamine1522746.67
18920501070F0Chloramphenicol5116120.00
18420501070ACFidaxomicin1217541.67
15230503031B0Entecavir11011554.55
18640502020A0Ketoconazole914555.56
20130503010Z0Abacavir and lamivudine154400.00
18850501022B0Ertapenem sodium812450.00
18610501013C0Amoxicillin sodium1014440.00
18310503021D0Inosine pranobex1518320.00
17330501040N0Neomycin sulfate333639.09
19670501090N0Pyrazinamide47375.00
19200501021H0Ceftazidime pentahydrate79228.57
20070501120Q0Norfloxacin35266.67
20120503010ACDarunavir35266.67
18430502010A0Posaconazole161716.25
19320501100C0Clofazimine78114.29
17060502010D0Voriconazole424312.38
18500501090Q0Rifabutin161600.00
17570501080J0Sulfadiazine313100.00
19800502030A0Amphotericin6600.00
18940503010AAEmtricitabine and tenofovir disoproxil1211-1-8.33
18300501022A0Meropenem2119-2-9.52
19970503010ANEfavirenz/emtricitabine/tenofovir disoproxil85-3-37.50
15250501013E0Ampicillin118113-5-4.24
14980501021C0Cefixime134129-5-3.73
18000505020L0Levamisole hydrochloride3024-6-20.00
20110503010AERaltegravir145-9-64.29
17190503022B0Valganciclovir hydrochloride5041-9-18.00
19950501014S0Piperacillin sodium/tazobactam sodium145-9-64.29
15370501040U0Tobramycin122109-13-10.66
13370501040H0Gentamicin sulfate291278-13-4.47
19110501070M0Fusidic acid2510-15-60.00
12570501021K0Cefuroxime axetil410394-16-3.90
11310501021A0Cefaclor724697-27-3.73
11780503021E0Famciclovir592559-33-5.57
17760501011J0Benzylpenicillin sodium (Penicillin G)6528-37-56.92
17230501070T0Teicoplanin7639-37-48.68
13200503010Q0Lamivudine339298-41-12.09
16190501021G0Ceftriaxone sodium10866-42-38.89
14550504040M0Mepacrine hydrochloride196150-46-23.47
17350504010L0Mefloquine hydrochloride8336-47-56.63
12310501090H0Ethambutol hydrochloride475426-49-10.32
14320501070N0Sodium fusidate235166-69-29.36
8860501021M0Cefradine19351851-84-4.34
16650504010U0Proguanil hydrochloride with atovaquone13753-84-61.31
13250502050B0Griseofulvin380295-85-22.37
12220501030F0Demeclocycline hydrochloride530444-86-16.23
16300501021B0Cefadroxil16961-108-63.91
10520501030Z0Doxycycline monohydrate1208972-236-19.54
6010501060D0Clindamycin hydrochloride68236568-255-3.74
8750501030P0Minocycline hydrochloride22881936-352-15.38
9820501090K0Isoniazid16331247-386-23.64
16200501013L0Co-fluampicil(Flucloxacillin/ampicillin)74666-680-91.15
11160501050N0Erythromycin stearate1463751-712-48.67
5760502010C0Itraconazole88107309-1501-17.04
2370502030B0Nystatin5581254252-1560-2.80
10690503040B0Oseltamivir phosphate2601899-1702-65.44
2930501050C0Erythromycin3788935717-2172-5.73
4020501050H0Erythromycin ethylsuccinate2068518138-2547-12.31
1800501030L0Lymecycline9373691125-2611-2.79
6170505010D0Mebendazole89755967-3008-33.52
3540501030T0Oxytetracycline2875925657-3102-10.79
3270502050C0Terbinafine hydrochloride3287229564-3308-10.06
2740502010B0Fluconazole4556342104-3459-7.59
610501130R0Nitrofurantoin343045339497-3548-1.03
2650501110C0Metronidazole4944445051-4393-8.88
2870501120L0Ciprofloxacin4397738881-5096-11.59
960504010Y0Quinine sulfate223215213430-9785-4.38
1440501080W0Trimethoprim141992129198-12794-9.01
760501012G0Flucloxacillin sodium302816282352-20464-6.76
\n", "
" ], "text/plain": [ " chemical_code chemical items_2019 \\\n", "68 0501030I0 Doxycycline hyclate 249319 \n", "27 0501013B0 Amoxicillin 667132 \n", "92 0501011P0 Phenoxymethylpenicillin (Penicillin V) 206107 \n", "195 0501050A0 Azithromycin 64255 \n", "108 0501050B0 Clarithromycin 178630 \n", "185 0503021C0 Aciclovir 79217 \n", "378 0501015P0 Pivmecillinam hydrochloride 17535 \n", "333 0504010T0 Quinine bisulfate 24764 \n", "216 0501021L0 Cefalexin 60915 \n", "414 0501080D0 Co-trimoxazole(Trimethoprim/sulfamethoxazole) 14131 \n", "160 0501013K0 Co-amoxiclav (Amoxicillin/clavulanic acid) 109668 \n", "518 0501130H0 Methenamine hippurate 7654 \n", "630 0501070AE Fosfomycin trometamol 3921 \n", "591 0501070X0 Rifaximin 5681 \n", "701 0503021A0 Valaciclovir 3372 \n", "736 0501070I0 Colistimethate sodium 2916 \n", "763 0501120P0 Ofloxacin 2883 \n", "831 0501120X0 Levofloxacin 2178 \n", "1248 0501070U0 Vancomycin hydrochloride 277 \n", "828 0501100H0 Dapsone 2226 \n", "852 0501030V0 Tetracycline 2063 \n", "1204 0501120Y0 Moxifloxacin 438 \n", "1507 0501070W0 Linezolid 87 \n", "1722 0503040A0 Zanamivir 10 \n", "1445 0501110G0 Tinidazole 132 \n", "938 0501090R0 Rifampicin 1491 \n", "1533 0503010H0 Tenofovir disoproxil 100 \n", "1693 0504080A0 Atovaquone 35 \n", "1440 0501090S0 Rifampicin combined preparations 151 \n", "1748 0505060I0 Ivermectin 25 \n", "1784 0505030A0 Albendazole 19 \n", "1480 0504010F0 Chloroquine phosphate 129 \n", "1806 0504010N0 Pyrimethamine 15 \n", "1892 0501070F0 Chloramphenicol 5 \n", "1842 0501070AC Fidaxomicin 12 \n", "1523 0503031B0 Entecavir 110 \n", "1864 0502020A0 Ketoconazole 9 \n", "2013 0503010Z0 Abacavir and lamivudine 1 \n", "1885 0501022B0 Ertapenem sodium 8 \n", "1861 0501013C0 Amoxicillin sodium 10 \n", "1831 0503021D0 Inosine pranobex 15 \n", "1733 0501040N0 Neomycin sulfate 33 \n", "1967 0501090N0 Pyrazinamide 4 \n", "1920 0501021H0 Ceftazidime pentahydrate 7 \n", "2007 0501120Q0 Norfloxacin 3 \n", "2012 0503010AC Darunavir 3 \n", "1843 0502010A0 Posaconazole 16 \n", "1932 0501100C0 Clofazimine 7 \n", "1706 0502010D0 Voriconazole 42 \n", "1850 0501090Q0 Rifabutin 16 \n", "1757 0501080J0 Sulfadiazine 31 \n", "1980 0502030A0 Amphotericin 6 \n", "1894 0503010AA Emtricitabine and tenofovir disoproxil 12 \n", "1830 0501022A0 Meropenem 21 \n", "1997 0503010AN Efavirenz/emtricitabine/tenofovir disoproxil 8 \n", "1525 0501013E0 Ampicillin 118 \n", "1498 0501021C0 Cefixime 134 \n", "1800 0505020L0 Levamisole hydrochloride 30 \n", "2011 0503010AE Raltegravir 14 \n", "1719 0503022B0 Valganciclovir hydrochloride 50 \n", "1995 0501014S0 Piperacillin sodium/tazobactam sodium 14 \n", "1537 0501040U0 Tobramycin 122 \n", "1337 0501040H0 Gentamicin sulfate 291 \n", "1911 0501070M0 Fusidic acid 25 \n", "1257 0501021K0 Cefuroxime axetil 410 \n", "1131 0501021A0 Cefaclor 724 \n", "1178 0503021E0 Famciclovir 592 \n", "1776 0501011J0 Benzylpenicillin sodium (Penicillin G) 65 \n", "1723 0501070T0 Teicoplanin 76 \n", "1320 0503010Q0 Lamivudine 339 \n", "1619 0501021G0 Ceftriaxone sodium 108 \n", "1455 0504040M0 Mepacrine hydrochloride 196 \n", "1735 0504010L0 Mefloquine hydrochloride 83 \n", "1231 0501090H0 Ethambutol hydrochloride 475 \n", "1432 0501070N0 Sodium fusidate 235 \n", "886 0501021M0 Cefradine 1935 \n", "1665 0504010U0 Proguanil hydrochloride with atovaquone 137 \n", "1325 0502050B0 Griseofulvin 380 \n", "1222 0501030F0 Demeclocycline hydrochloride 530 \n", "1630 0501021B0 Cefadroxil 169 \n", "1052 0501030Z0 Doxycycline monohydrate 1208 \n", "601 0501060D0 Clindamycin hydrochloride 6823 \n", "875 0501030P0 Minocycline hydrochloride 2288 \n", "982 0501090K0 Isoniazid 1633 \n", "1620 0501013L0 Co-fluampicil(Flucloxacillin/ampicillin) 746 \n", "1116 0501050N0 Erythromycin stearate 1463 \n", "576 0502010C0 Itraconazole 8810 \n", "237 0502030B0 Nystatin 55812 \n", "1069 0503040B0 Oseltamivir phosphate 2601 \n", "293 0501050C0 Erythromycin 37889 \n", "402 0501050H0 Erythromycin ethylsuccinate 20685 \n", "180 0501030L0 Lymecycline 93736 \n", "617 0505010D0 Mebendazole 8975 \n", "354 0501030T0 Oxytetracycline 28759 \n", "327 0502050C0 Terbinafine hydrochloride 32872 \n", "274 0502010B0 Fluconazole 45563 \n", "61 0501130R0 Nitrofurantoin 343045 \n", "265 0501110C0 Metronidazole 49444 \n", "287 0501120L0 Ciprofloxacin 43977 \n", "96 0504010Y0 Quinine sulfate 223215 \n", "144 0501080W0 Trimethoprim 141992 \n", "76 0501012G0 Flucloxacillin sodium 302816 \n", "\n", " items_2020 increase per_diff \n", "68 321744 72425 29.05 \n", "27 694726 27594 4.14 \n", "92 224298 18191 8.83 \n", "195 77958 13703 21.33 \n", "108 191549 12919 7.23 \n", "185 87733 8516 10.75 \n", "378 21850 4315 24.61 \n", "333 28479 3715 15.00 \n", "216 64358 3443 5.65 \n", "414 17483 3352 23.72 \n", "160 112440 2772 2.53 \n", "518 10049 2395 31.29 \n", "630 5591 1670 42.59 \n", "591 6794 1113 19.59 \n", "701 4000 628 18.62 \n", "736 3445 529 18.14 \n", "763 3063 180 6.24 \n", "831 2338 160 7.35 \n", "1248 409 132 47.65 \n", "828 2353 127 5.71 \n", "852 2165 102 4.94 \n", "1204 476 38 8.68 \n", "1507 124 37 42.53 \n", "1722 39 29 290.00 \n", "1445 156 24 18.18 \n", "938 1503 12 0.80 \n", "1533 111 11 11.00 \n", "1693 46 11 31.43 \n", "1440 161 10 6.62 \n", "1748 33 8 32.00 \n", "1784 27 8 42.11 \n", "1480 136 7 5.43 \n", "1806 22 7 46.67 \n", "1892 11 6 120.00 \n", "1842 17 5 41.67 \n", "1523 115 5 4.55 \n", "1864 14 5 55.56 \n", "2013 5 4 400.00 \n", "1885 12 4 50.00 \n", "1861 14 4 40.00 \n", "1831 18 3 20.00 \n", "1733 36 3 9.09 \n", "1967 7 3 75.00 \n", "1920 9 2 28.57 \n", "2007 5 2 66.67 \n", "2012 5 2 66.67 \n", "1843 17 1 6.25 \n", "1932 8 1 14.29 \n", "1706 43 1 2.38 \n", "1850 16 0 0.00 \n", "1757 31 0 0.00 \n", "1980 6 0 0.00 \n", "1894 11 -1 -8.33 \n", "1830 19 -2 -9.52 \n", "1997 5 -3 -37.50 \n", "1525 113 -5 -4.24 \n", "1498 129 -5 -3.73 \n", "1800 24 -6 -20.00 \n", "2011 5 -9 -64.29 \n", "1719 41 -9 -18.00 \n", "1995 5 -9 -64.29 \n", "1537 109 -13 -10.66 \n", "1337 278 -13 -4.47 \n", "1911 10 -15 -60.00 \n", "1257 394 -16 -3.90 \n", "1131 697 -27 -3.73 \n", "1178 559 -33 -5.57 \n", "1776 28 -37 -56.92 \n", "1723 39 -37 -48.68 \n", "1320 298 -41 -12.09 \n", "1619 66 -42 -38.89 \n", "1455 150 -46 -23.47 \n", "1735 36 -47 -56.63 \n", "1231 426 -49 -10.32 \n", "1432 166 -69 -29.36 \n", "886 1851 -84 -4.34 \n", "1665 53 -84 -61.31 \n", "1325 295 -85 -22.37 \n", "1222 444 -86 -16.23 \n", "1630 61 -108 -63.91 \n", "1052 972 -236 -19.54 \n", "601 6568 -255 -3.74 \n", "875 1936 -352 -15.38 \n", "982 1247 -386 -23.64 \n", "1620 66 -680 -91.15 \n", "1116 751 -712 -48.67 \n", "576 7309 -1501 -17.04 \n", "237 54252 -1560 -2.80 \n", "1069 899 -1702 -65.44 \n", "293 35717 -2172 -5.73 \n", "402 18138 -2547 -12.31 \n", "180 91125 -2611 -2.79 \n", "617 5967 -3008 -33.52 \n", "354 25657 -3102 -10.79 \n", "327 29564 -3308 -10.06 \n", "274 42104 -3459 -7.59 \n", "61 339497 -3548 -1.03 \n", "265 45051 -4393 -8.88 \n", "287 38881 -5096 -11.59 \n", "96 213430 -9785 -4.38 \n", "144 129198 -12794 -9.01 \n", "76 282352 -20464 -6.76 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_abx_a = df_march_diff[df_march_diff[\"chemical_code\"].str.startswith(\"050\")].sort_values(\"increase\", ascending=False)\n", "df_abx = df_abx_a.loc[(df_abx_a[\"items_2020\"] >= 5)]\n", "pd.set_option('display.max_rows', None)\n", "pd.set_option('display.max_colwidth', None)\n", "df_abx" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overall Trends " ] }, { "cell_type": "code", "execution_count": 8, "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", "
monthitemscost
02020-03-01 00:00:00+00:0099835832790848491.37
12019-10-01 00:00:00+00:0099722084758784655.33
22018-10-01 00:00:00+00:0097798558719422788.30
32020-01-01 00:00:00+00:0096246794719143800.18
42015-12-01 00:00:00+00:0096043609761761833.10
\n", "
" ], "text/plain": [ " month items cost\n", "0 2020-03-01 00:00:00+00:00 99835832 790848491.37\n", "1 2019-10-01 00:00:00+00:00 99722084 758784655.33\n", "2 2018-10-01 00:00:00+00:00 97798558 719422788.30\n", "3 2020-01-01 00:00:00+00:00 96246794 719143800.18\n", "4 2015-12-01 00:00:00+00:00 96043609 761761833.10" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sql2 = '''\n", "\n", "SELECT\n", " month,\n", " SUM(items) AS items,\n", " SUM(actual_cost) AS cost\n", "FROM\n", " ebmdatalab.hscic.normalised_prescribing\n", "WHERE\n", " month BETWEEN TIMESTAMP('2015-01-01')\n", " AND TIMESTAMP('2020-03-01') #2014 seems to be duplicated so setting argument to eliminate\n", "GROUP BY\n", " month\n", "ORDER BY\n", " items DESC\n", "\n", " '''\n", "\n", "df_overall = bq.cached_read(sql2, csv_path=os.path.join('..','data','df_overall.csv'))\n", "df_overall.head(5)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_overall.groupby(\"month\").sum().plot(kind='line', title=\"Trens in items and cost per month since 2015\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "df_march_2020 = df_overall.loc[(df_overall[\"month\"] == \"2020-03-01 00:00:00+00:00\")]\n", "df_march_2019 = df_overall.loc[(df_overall[\"month\"] == \"2019-03-01 00:00:00+00:00\")]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
monthitemscost
02020-03-01 00:00:00+00:0099835832790848491.37
\n", "
" ], "text/plain": [ " month items cost\n", "0 2020-03-01 00:00:00+00:00 99835832 790848491.37" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_march_2020" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
monthitemscost
332019-03-01 00:00:00+00:0091320874672356539.25
\n", "
" ], "text/plain": [ " month items cost\n", "33 2019-03-01 00:00:00+00:00 91320874 672356539.25" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_march_2019" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "cell_metadata_filter": "all", "notebook_metadata_filter": "all,-language_info", "text_representation": { "extension": ".py", "format_name": "light", "format_version": "1.5", "jupytext_version": "1.3.3" } }, "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.1" } }, "nbformat": 4, "nbformat_minor": 4 }