refactoring

This commit is contained in:
frankknoll
2022-02-02 11:19:47 +01:00
parent 907ef2ac1f
commit 2ac84d32fe

View File

@@ -221,17 +221,17 @@
" \n",
" @staticmethod\n",
" def getNthDoseTable(dataFrame, dose):\n",
" return pd.Series(DoseAnalysis._getNthDoseDict(DataFrameFilter(dataFrame).filterBy(dose = dose)))\n",
" return pd.DataFrame(DoseAnalysis._getNthDoseDict(DataFrameFilter(dataFrame).filterBy(dose = dose)))\n",
"\n",
" @staticmethod\n",
" def _getNthDoseDict(df):\n",
" nthDoseDict = {\n",
" 'Total reports': len(df.index),\n",
" 'Deaths': DoseAnalysis._count(df, 'DIED'),\n",
" 'Disabilities': DoseAnalysis._count(df, 'DISABLE'),\n",
" 'Life Threatening Illnesses': DoseAnalysis._count(df, 'L_THREAT')\n",
" 'Total reports': [len(df.index)],\n",
" 'Deaths': [DoseAnalysis._count(df, 'DIED')],\n",
" 'Disabilities': [DoseAnalysis._count(df, 'DISABLE')],\n",
" 'Life Threatening Illnesses': [DoseAnalysis._count(df, 'L_THREAT')]\n",
" }\n",
" nthDoseDict['Severe reports'] = (nthDoseDict['Deaths'] + nthDoseDict['Disabilities'] + nthDoseDict['Life Threatening Illnesses']) / nthDoseDict['Total reports'] * 100\n",
" nthDoseDict['Severe reports (%)'] = [(nthDoseDict['Deaths'][0] + nthDoseDict['Disabilities'][0] + nthDoseDict['Life Threatening Illnesses'][0]) / nthDoseDict['Total reports'][0] * 100]\n",
" return nthDoseDict\n",
"\n",
" @staticmethod\n",
@@ -549,7 +549,7 @@
"metadata": {},
"outputs": [],
"source": [
"from pandas.testing import assert_series_equal\n",
"from pandas.testing import assert_frame_equal\n",
"\n",
"class DoseAnalysisTest(unittest.TestCase):\n",
"\n",
@@ -566,13 +566,13 @@
" \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n",
" dose = '1',\n",
" doseTableExpected = pd.Series(\n",
" doseTableExpected = pd.DataFrame(\n",
" {\n",
" 'Total reports': 2,\n",
" 'Deaths': 2,\n",
" 'Disabilities': 1,\n",
" 'Life Threatening Illnesses': 1,\n",
" 'Severe reports': (2 + 1 + 1)/2 * 100\n",
" 'Total reports': [2],\n",
" 'Deaths': [2],\n",
" 'Disabilities': [1],\n",
" 'Life Threatening Illnesses': [1],\n",
" 'Severe reports (%)': [(2 + 1 + 1)/2 * 100]\n",
" }))\n",
"\n",
" def test_getSecondDoseTable(self):\n",
@@ -588,13 +588,13 @@
" \"4711\"],\n",
" dtypes = {'VAX_DOSE_SERIES': \"string\"}),\n",
" dose = '2',\n",
" doseTableExpected = pd.Series(\n",
" doseTableExpected = pd.DataFrame(\n",
" {\n",
" 'Total reports': 1,\n",
" 'Deaths': 1,\n",
" 'Disabilities': 0,\n",
" 'Life Threatening Illnesses': 0,\n",
" 'Severe reports': (1 + 0 + 0)/1 * 100\n",
" 'Total reports': [1],\n",
" 'Deaths': [1],\n",
" 'Disabilities': [0],\n",
" 'Life Threatening Illnesses': [0],\n",
" 'Severe reports (%)': [(1 + 0 + 0)/1 * 100]\n",
" }))\n",
"\n",
" def _test_getNthDoseTable(self, dataFrame, dose, doseTableExpected):\n",
@@ -602,7 +602,7 @@
" doseTable = DoseAnalysis.getNthDoseTable(dataFrame, dose)\n",
" \n",
" # Then\n",
" assert_series_equal(doseTable, doseTableExpected)\n",
" assert_frame_equal(doseTable, doseTableExpected)\n",
"\n",
" def createDataFrame(self, index, columns, data, dtypes = {}):\n",
" return pd.DataFrame(index = index, columns = columns, data = data).astype(dtypes)\n"