diff --git a/HowBadIsMyBatch.ipynb b/HowBadIsMyBatch.ipynb index 33a844920c3..58720f1bca4 100644 --- a/HowBadIsMyBatch.ipynb +++ b/HowBadIsMyBatch.ipynb @@ -169,7 +169,7 @@ "metadata": {}, "outputs": [], "source": [ - "class AggregationHelper:\n", + "class SummationTableFactory:\n", "\n", " @staticmethod\n", " def createSummationTable(\n", @@ -183,23 +183,16 @@ " 'HOSPITAL_sum': 'HOSPITALISATIONS',\n", " 'ER_VISIT_sum': 'EMERGENCY ROOM OR DOCTOR VISITS'\n", " }):\n", - " return AggregationHelper._aggregateAndFlattenColumnsAndRenameColumns(\n", - " groupBy = groupBy,\n", - " aggFunctionsByColumn = {\n", + "\n", + " summationTable = groupBy.agg({\n", " 'DIED': ['sum', 'size'],\n", " 'L_THREAT': 'sum',\n", " 'DISABLE': 'sum',\n", " 'HOSPITAL': 'sum',\n", " 'ER_VISIT': 'sum'\n", - " },\n", - " columnNameMappingsDict = columnNameMappingsDict)\n", - "\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", + " SummationTableFactory._flattenColumns(summationTable)\n", + " return summationTable.rename(columns = columnNameMappingsDict)\n", "\n", " @staticmethod\n", " def _flattenColumns(dataFrame):\n", @@ -222,7 +215,7 @@ "\n", " # create table from https://www.howbadismybatch.com/combined.html\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.sort_values(by = 'ADRs', ascending = False)\n", " return self._addCompanyColumn(batchCodeTable, self._createCompanyByBatchCodeTable())\n", @@ -291,7 +284,7 @@ " # FK-TODO: DRY because it generates a subset of BatchCodeTableHelper.createSevereEffectsBatchCodeTable()\n", " @staticmethod\n", " def _getDoseTable(dataFrame):\n", - " doseTable = AggregationHelper.createSummationTable(\n", + " doseTable = SummationTableFactory.createSummationTable(\n", " dataFrame,\n", " columnNameMappingsDict = {\n", " \"DIED_size\": \"Total reports\",\n",