From 4e61397cd56b0f667c0d9b12134268eea2aa9160 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Wed, 2 Mar 2022 12:07:12 +0100 Subject: [PATCH] refactoring --- src/intensivstationen/Intensivstationen.ipynb | 81 +++++++++++-------- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/src/intensivstationen/Intensivstationen.ipynb b/src/intensivstationen/Intensivstationen.ipynb index e6adcf58ac9..8df3f0ddc3f 100644 --- a/src/intensivstationen/Intensivstationen.ipynb +++ b/src/intensivstationen/Intensivstationen.ipynb @@ -22,23 +22,13 @@ "metadata": {}, "outputs": [], "source": [ - "# download https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv or https://www.intensivregister.de/#/aktuelle-lage/downloads\n", - "if False:\n", - " request.urlretrieve(\n", - " 'https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv',\n", - " 'zeitreihe-tagesdaten.csv')\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f179762b", - "metadata": {}, - "outputs": [], - "source": [ - "def readTimeseries():\n", + "def readTimeseries(download = False):\n", + " timeSeriesFile = 'zeitreihe-tagesdaten.csv'\n", + " if download:\n", + " _downloadTimeseries(timeSeriesFile)\n", + "\n", " timeseries = pd.read_csv(\n", - " 'zeitreihe-tagesdaten.csv',\n", + " timeSeriesFile,\n", " low_memory = False,\n", " usecols = ['date', 'bundesland', 'gemeindeschluessel', 'betten_belegt', 'betten_frei'],\n", " parse_dates = ['date'],\n", @@ -47,7 +37,24 @@ " 'gemeindeschluessel': 'string',\n", " 'bundesland': 'string'\n", " })\n", - " return timeseries.sort_values(by = 'date', ascending = True)\n" + " return timeseries.sort_values(by = 'date', ascending = True)\n", + "\n", + "# download https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv or https://www.intensivregister.de/#/aktuelle-lage/downloads\n", + "def _downloadTimeseries(timeSeriesFile):\n", + " request.urlretrieve(\n", + " 'https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv',\n", + " timeSeriesFile)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f992231", + "metadata": {}, + "outputs": [], + "source": [ + "timeSeries = readTimeseries(download = False)\n", + "timeSeries" ] }, { @@ -58,28 +65,34 @@ "outputs": [], "source": [ "# download https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile or https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.html\n", - "if False:\n", - " request.urlretrieve(\n", - " 'https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile',\n", - " '04-kreise.xlsx')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0927a6c2", - "metadata": {}, - "outputs": [], - "source": [ - "def readKreise():\n", + "def readKreise(download = False):\n", + " kreiseFile = '04-kreise.xlsx'\n", + " if download:\n", + " _downloadKreise(kreiseFile)\n", " kreise = pd.read_excel(\n", - " '04-kreise.xlsx',\n", + " kreiseFile,\n", " sheet_name = 'Kreisfreie Städte u. Landkreise',\n", " header = 5,\n", " index_col = 0)\n", " kreise = kreise.rename(columns = {'2': 'Bundesland', 3: 'Kreis', 6: 'Einwohnerzahl'})[['Bundesland', 'Kreis', 'Einwohnerzahl']]\n", " kreise.index.set_names(\"Key\", inplace = True)\n", - " return kreise" + " return kreise\n", + "\n", + "def _downloadKreise(kreiseFile):\n", + " request.urlretrieve(\n", + " 'https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile',\n", + " kreiseFile)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74ea4d55", + "metadata": {}, + "outputs": [], + "source": [ + "kreise = readKreise(download = False)\n", + "kreise" ] }, { @@ -119,7 +132,7 @@ "metadata": {}, "outputs": [], "source": [ - "timeSeries = ColumnsAdder(readKreise()).addKreisAndBundeslandAndEinwohnerzahlColumns(readTimeseries())\n", + "timeSeries = ColumnsAdder(kreise).addKreisAndBundeslandAndEinwohnerzahlColumns(timeSeries)\n", "timeSeries" ] },