From 8a6b248394ca536759ad0c0135e8072c208ac3a8 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Wed, 14 Dec 2022 11:03:13 +0100 Subject: [PATCH] refactoring --- src/intensivstationen/ColumnsAdder.py | 27 +++++++++++ src/intensivstationen/Intensivstationen.ipynb | 45 +------------------ 2 files changed, 28 insertions(+), 44 deletions(-) create mode 100644 src/intensivstationen/ColumnsAdder.py diff --git a/src/intensivstationen/ColumnsAdder.py b/src/intensivstationen/ColumnsAdder.py new file mode 100644 index 00000000000..db2e9334812 --- /dev/null +++ b/src/intensivstationen/ColumnsAdder.py @@ -0,0 +1,27 @@ +import pandas as pd + +class ColumnsAdder: + + def __init__(self, kreise): + self.kreise = kreise + + def addKreisAndBundeslandAndEinwohnerzahlColumns(self, dataFrame): + dataFrame = self.addKreisAndEinwohnerzahlColumns(dataFrame) + return self._addBundeslandColumn(dataFrame) + + def addKreisAndEinwohnerzahlColumns(self, dataFrame): + dataFrame_kreise = pd.merge(dataFrame, self.kreise, how = 'left', left_on = 'gemeindeschluessel', right_index = True) + dataFrame['Kreis'] = dataFrame_kreise['Kreis'] + dataFrame['Einwohnerzahl'] = dataFrame_kreise['Einwohnerzahl'] + return dataFrame + + def _addBundeslandColumn(self, dataFrame): + return pd.merge( + dataFrame, + self._createBundeslandByKeyTable(), + how = 'left', + left_on = 'bundesland', + right_index = True) + + def _createBundeslandByKeyTable(self): + return self.kreise[self.kreise.index.str.len() == 2][['Bundesland']] diff --git a/src/intensivstationen/Intensivstationen.ipynb b/src/intensivstationen/Intensivstationen.ipynb index a481877df4d..96a43e23847 100644 --- a/src/intensivstationen/Intensivstationen.ipynb +++ b/src/intensivstationen/Intensivstationen.ipynb @@ -26,6 +26,7 @@ "from DateProvider import DateProvider\n", "from datetime import datetime\n", "from HtmlTransformerUtil import HtmlTransformerUtil\n", + "from ColumnsAdder import ColumnsAdder\n", "\n", "pd.set_option('display.max_rows', 100)\n", "pd.set_option('display.max_columns', None)\n", @@ -42,16 +43,6 @@ "print(datetime.now().strftime(\"%d.%m.%Y, %H:%M:%S Uhr\"))" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "98981ab9", - "metadata": {}, - "outputs": [], - "source": [ - "os.getcwd()" - ] - }, { "cell_type": "code", "execution_count": null, @@ -174,40 +165,6 @@ "kreise" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "af96fb11", - "metadata": {}, - "outputs": [], - "source": [ - "class ColumnsAdder:\n", - "\n", - " def __init__(self, kreise):\n", - " self.kreise = kreise\n", - "\n", - " def addKreisAndBundeslandAndEinwohnerzahlColumns(self, dataFrame):\n", - " dataFrame = self.addKreisAndEinwohnerzahlColumns(dataFrame)\n", - " return self._addBundeslandColumn(dataFrame)\n", - " \n", - " def addKreisAndEinwohnerzahlColumns(self, dataFrame):\n", - " dataFrame_kreise = pd.merge(dataFrame, self.kreise, how = 'left', left_on = 'gemeindeschluessel', right_index = True)\n", - " dataFrame['Kreis'] = dataFrame_kreise['Kreis']\n", - " dataFrame['Einwohnerzahl'] = dataFrame_kreise['Einwohnerzahl']\n", - " return dataFrame\n", - "\n", - " def _addBundeslandColumn(self, dataFrame):\n", - " return pd.merge(\n", - " dataFrame,\n", - " self._createBundeslandByKeyTable(),\n", - " how = 'left',\n", - " left_on = 'bundesland',\n", - " right_index = True)\n", - "\n", - " def _createBundeslandByKeyTable(self):\n", - " return self.kreise[self.kreise.index.str.len() == 2][['Bundesland']]\n" - ] - }, { "cell_type": "code", "execution_count": null,