refactoring

This commit is contained in:
frankknoll
2022-02-05 17:39:46 +01:00
parent a8c20c3656
commit 9f9ae08d3c

View File

@@ -261,35 +261,23 @@
" \n", " \n",
" @staticmethod\n", " @staticmethod\n",
" def getDoseTable(dataFrame):\n", " def getDoseTable(dataFrame):\n",
" doseTable = AggregationHelper.aggregateAndFlattenColumnsAndRenameColumns(\n", " return DoseAnalysis._getDoseTable(dataFrame.groupby('VAX_DOSE_SERIES'))\n",
" dataFrame = dataFrame.groupby('VAX_DOSE_SERIES'),\n",
" aggFunctionsByColumn = {\n",
" 'DIED': ['sum', 'size'],\n",
" 'L_THREAT': 'sum',\n",
" 'DISABLE': 'sum'\n",
" },\n",
" columnNameMappingsDict = {\n",
" \"DIED_size\": \"Total reports\",\n",
" \"DIED_sum\": \"Deaths\",\n",
" \"L_THREAT_sum\": \"Life Threatening Illnesses\",\n",
" \"DISABLE_sum\": \"Disabilities\"\n",
" })\n",
" doseTable = doseTable[['Total reports', 'Deaths', 'Disabilities', 'Life Threatening Illnesses']]\n",
" doseTable['Severe reports (%)'] = (doseTable['Deaths'] + doseTable['Disabilities'] + doseTable['Life Threatening Illnesses']) / doseTable['Total reports'] * 100\n",
" return doseTable\n",
"\n", "\n",
" @staticmethod\n", " @staticmethod\n",
" def getDoseByMonthTable(dataFrame):\n", " def getDoseByMonthTable(dataFrame):\n",
" # https://stackoverflow.com/questions/61879166/pandas-groupby-month-and-year-date-as-datetime64ns-and-summarized-by-count\n", " # https://stackoverflow.com/questions/61879166/pandas-groupby-month-and-year-date-as-datetime64ns-and-summarized-by-count\n",
" grouped = dataFrame.groupby(\n", " return DoseAnalysis._getDoseTable(\n",
" dataFrame.groupby(\n",
" [\n", " [\n",
" dataFrame['RECVDATE'].dt.year.rename('year'),\n", " dataFrame['RECVDATE'].dt.year.rename('year'),\n",
" dataFrame['RECVDATE'].dt.month.rename('month'),\n", " dataFrame['RECVDATE'].dt.month.rename('month'),\n",
" dataFrame['VAX_DOSE_SERIES']\n", " dataFrame['VAX_DOSE_SERIES']\n",
" ])\n", " ]))\n",
" # FK-TODO: DRY with getDoseTable()\n", "\n",
" @staticmethod\n",
" def _getDoseTable(dataFrame):\n",
" doseTable = AggregationHelper.aggregateAndFlattenColumnsAndRenameColumns(\n", " doseTable = AggregationHelper.aggregateAndFlattenColumnsAndRenameColumns(\n",
" dataFrame = grouped,\n", " dataFrame = dataFrame,\n",
" aggFunctionsByColumn = {\n", " aggFunctionsByColumn = {\n",
" 'DIED': ['sum', 'size'],\n", " 'DIED': ['sum', 'size'],\n",
" 'L_THREAT': 'sum',\n", " 'L_THREAT': 'sum',\n",