refactoring
This commit is contained in:
@@ -172,7 +172,31 @@
|
||||
"class AggregationHelper:\n",
|
||||
"\n",
|
||||
" @staticmethod\n",
|
||||
" def aggregateAndFlattenColumnsAndRenameColumns(groupBy, aggFunctionsByColumn, columnNameMappingsDict):\n",
|
||||
" def createSummationTable(\n",
|
||||
" groupBy,\n",
|
||||
" # FK-TODO: rename \"ADRs\" and \"Total reports\" to \"Total Number of Adverse Reaction Reports\" in all places\n",
|
||||
" columnNameMappingsDict = {\n",
|
||||
" \"DIED_size\": \"ADRs\",\n",
|
||||
" \"DIED_sum\": \"DEATHS\",\n",
|
||||
" \"L_THREAT_sum\": \"LIFE THREATENING ILLNESSES\",\n",
|
||||
" \"DISABLE_sum\": \"DISABILITIES\",\n",
|
||||
" 'HOSPITAL_sum': 'HOSPITALISATIONS',\n",
|
||||
" 'ER_VISIT_sum': 'EMERGENCY ROOM OR DOCTOR VISITS'\n",
|
||||
" }):\n",
|
||||
" return AggregationHelper._aggregateAndFlattenColumnsAndRenameColumns(\n",
|
||||
" groupBy = groupBy,\n",
|
||||
" aggFunctionsByColumn = {\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",
|
||||
@@ -198,34 +222,11 @@
|
||||
"\n",
|
||||
" # create table from https://www.howbadismybatch.com/combined.html\n",
|
||||
" def createSevereEffectsBatchCodeTable(self):\n",
|
||||
" batchCodeTable = BatchCodeTableHelper.createSummationTable(self.dataFrame.groupby('VAX_LOT'))\n",
|
||||
" batchCodeTable = AggregationHelper.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",
|
||||
"\n",
|
||||
" @staticmethod\n",
|
||||
" def createSummationTable(\n",
|
||||
" groupBy,\n",
|
||||
" # FK-TODO: rename \"ADRs\" and \"Total reports\" to \"Total Number of Adverse Reaction Reports\" in all places\n",
|
||||
" columnNameMappingsDict = {\n",
|
||||
" \"DIED_size\": \"ADRs\",\n",
|
||||
" \"DIED_sum\": \"DEATHS\",\n",
|
||||
" \"L_THREAT_sum\": \"LIFE THREATENING ILLNESSES\",\n",
|
||||
" \"DISABLE_sum\": \"DISABILITIES\",\n",
|
||||
" 'HOSPITAL_sum': 'HOSPITALISATIONS',\n",
|
||||
" 'ER_VISIT_sum': 'EMERGENCY ROOM OR DOCTOR VISITS'\n",
|
||||
" }):\n",
|
||||
" return AggregationHelper.aggregateAndFlattenColumnsAndRenameColumns(\n",
|
||||
" groupBy = groupBy,\n",
|
||||
" aggFunctionsByColumn = {\n",
|
||||
" 'DIED': ['sum', 'size'],\n",
|
||||
" 'L_THREAT': 'sum',\n",
|
||||
" 'DISABLE': 'sum',\n",
|
||||
" 'HOSPITAL': 'sum',\n",
|
||||
" 'ER_VISIT': 'sum'\n",
|
||||
" },\n",
|
||||
" columnNameMappingsDict = columnNameMappingsDict)\n",
|
||||
"\n",
|
||||
" def _addCompanyColumn(self, batchCodeTable, companyByBatchCodeTable):\n",
|
||||
" return pd.merge(\n",
|
||||
" batchCodeTable,\n",
|
||||
@@ -290,7 +291,7 @@
|
||||
" # FK-TODO: DRY because it generates a subset of BatchCodeTableHelper.createSevereEffectsBatchCodeTable()\n",
|
||||
" @staticmethod\n",
|
||||
" def _getDoseTable(dataFrame):\n",
|
||||
" doseTable = BatchCodeTableHelper.createSummationTable(\n",
|
||||
" doseTable = AggregationHelper.createSummationTable(\n",
|
||||
" dataFrame,\n",
|
||||
" columnNameMappingsDict = {\n",
|
||||
" \"DIED_size\": \"Total reports\",\n",
|
||||
|
||||
Reference in New Issue
Block a user