refactoring

This commit is contained in:
frankknoll
2022-12-14 11:03:13 +01:00
parent bc1b76710c
commit 8a6b248394
2 changed files with 28 additions and 44 deletions

View File

@@ -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']]

View File

@@ -26,6 +26,7 @@
"from DateProvider import DateProvider\n", "from DateProvider import DateProvider\n",
"from datetime import datetime\n", "from datetime import datetime\n",
"from HtmlTransformerUtil import HtmlTransformerUtil\n", "from HtmlTransformerUtil import HtmlTransformerUtil\n",
"from ColumnsAdder import ColumnsAdder\n",
"\n", "\n",
"pd.set_option('display.max_rows', 100)\n", "pd.set_option('display.max_rows', 100)\n",
"pd.set_option('display.max_columns', None)\n", "pd.set_option('display.max_columns', None)\n",
@@ -42,16 +43,6 @@
"print(datetime.now().strftime(\"%d.%m.%Y, %H:%M:%S Uhr\"))" "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", "cell_type": "code",
"execution_count": null, "execution_count": null,
@@ -174,40 +165,6 @@
"kreise" "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", "cell_type": "code",
"execution_count": null, "execution_count": null,