refactoring

This commit is contained in:
frankknoll
2022-02-07 20:51:24 +01:00
parent b097a2c74b
commit c0a7c85bf0

View File

@@ -169,7 +169,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"class AggregationHelper:\n", "class SummationTableFactory:\n",
"\n", "\n",
" @staticmethod\n", " @staticmethod\n",
" def createSummationTable(\n", " def createSummationTable(\n",
@@ -183,23 +183,16 @@
" 'HOSPITAL_sum': 'HOSPITALISATIONS',\n", " 'HOSPITAL_sum': 'HOSPITALISATIONS',\n",
" 'ER_VISIT_sum': 'EMERGENCY ROOM OR DOCTOR VISITS'\n", " 'ER_VISIT_sum': 'EMERGENCY ROOM OR DOCTOR VISITS'\n",
" }):\n", " }):\n",
" return AggregationHelper._aggregateAndFlattenColumnsAndRenameColumns(\n", "\n",
" groupBy = groupBy,\n", " summationTable = groupBy.agg({\n",
" aggFunctionsByColumn = {\n",
" 'DIED': ['sum', 'size'],\n", " 'DIED': ['sum', 'size'],\n",
" 'L_THREAT': 'sum',\n", " 'L_THREAT': 'sum',\n",
" 'DISABLE': 'sum',\n", " 'DISABLE': 'sum',\n",
" 'HOSPITAL': 'sum',\n", " 'HOSPITAL': 'sum',\n",
" 'ER_VISIT': 'sum'\n", " 'ER_VISIT': 'sum'\n",
" },\n", " })\n",
" columnNameMappingsDict = columnNameMappingsDict)\n", " SummationTableFactory._flattenColumns(summationTable)\n",
"\n", " return summationTable.rename(columns = columnNameMappingsDict)\n",
" # FK-TODO: inline method\n",
" @staticmethod\n",
" def _aggregateAndFlattenColumnsAndRenameColumns(groupBy, aggFunctionsByColumn, columnNameMappingsDict):\n",
" aggregatedDataFrame = groupBy.agg(aggFunctionsByColumn)\n",
" AggregationHelper._flattenColumns(aggregatedDataFrame)\n",
" return aggregatedDataFrame.rename(columns = columnNameMappingsDict)\n",
"\n", "\n",
" @staticmethod\n", " @staticmethod\n",
" def _flattenColumns(dataFrame):\n", " def _flattenColumns(dataFrame):\n",
@@ -222,7 +215,7 @@
"\n", "\n",
" # create table from https://www.howbadismybatch.com/combined.html\n", " # create table from https://www.howbadismybatch.com/combined.html\n",
" def createSevereEffectsBatchCodeTable(self):\n", " def createSevereEffectsBatchCodeTable(self):\n",
" batchCodeTable = AggregationHelper.createSummationTable(self.dataFrame.groupby('VAX_LOT'))\n", " batchCodeTable = SummationTableFactory.createSummationTable(self.dataFrame.groupby('VAX_LOT'))\n",
" batchCodeTable = batchCodeTable[['ADRs', 'DEATHS', 'DISABILITIES', 'LIFE THREATENING ILLNESSES', 'HOSPITALISATIONS', 'EMERGENCY ROOM OR DOCTOR VISITS']]\n", " batchCodeTable = batchCodeTable[['ADRs', 'DEATHS', 'DISABILITIES', 'LIFE THREATENING ILLNESSES', 'HOSPITALISATIONS', 'EMERGENCY ROOM OR DOCTOR VISITS']]\n",
" batchCodeTable = batchCodeTable.sort_values(by = 'ADRs', ascending = False)\n", " batchCodeTable = batchCodeTable.sort_values(by = 'ADRs', ascending = False)\n",
" return self._addCompanyColumn(batchCodeTable, self._createCompanyByBatchCodeTable())\n", " return self._addCompanyColumn(batchCodeTable, self._createCompanyByBatchCodeTable())\n",
@@ -291,7 +284,7 @@
" # FK-TODO: DRY because it generates a subset of BatchCodeTableHelper.createSevereEffectsBatchCodeTable()\n", " # FK-TODO: DRY because it generates a subset of BatchCodeTableHelper.createSevereEffectsBatchCodeTable()\n",
" @staticmethod\n", " @staticmethod\n",
" def _getDoseTable(dataFrame):\n", " def _getDoseTable(dataFrame):\n",
" doseTable = AggregationHelper.createSummationTable(\n", " doseTable = SummationTableFactory.createSummationTable(\n",
" dataFrame,\n", " dataFrame,\n",
" columnNameMappingsDict = {\n", " columnNameMappingsDict = {\n",
" \"DIED_size\": \"Total reports\",\n", " \"DIED_size\": \"Total reports\",\n",